Category Archives: WPF
Binding Checkbox an eine Visible Eigenschaft eines Elements
Ab .NET Framework 4.5 bietet Microsoft den BooleanToVisibilityConverter an mit dessen Hilfe man unter WPF man es umsetzen kann, dass eine Checkbox ein Element Visible oder Hidden setzt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<Window x:Class="WpfApplication16.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:my="clr-namespace:WpfApplication16" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <BooleanToVisibilityConverter x:Key="b2v" /> </Window.Resources> <StackPanel> <CheckBox x:Name="chk" Content="Show There" /> <TabControl> <TabItem Header="Hello" /> <TabItem Header="There" Visibility="{Binding IsChecked,ElementName=chk,Converter={StaticResource b2v}}" /> <TabItem Header="World" /> </TabControl> </StackPanel> </Window> |
Quelle: http://stackoverflow.com/questions/6990982/wpf-control-tabitem-visibility-from-a-checkbox
TSQL Mod – Eine DLL für schnelle SQL Server arbeiten
TSQLmod Download Klasse db (Connection String) benötigt in erster Linie die SQL Instanz. Nachdem das Objekt erfolgreich initialisiert wurde, wird auch gleichzeitig die Verbindung aufgemacht und die folgenden Methoden können genutzt werden. LookUP(…) gibt aus einem SQL Query den ersten Treffer der angegebenen Spalte als String wieder. Ideal um einen Wert aus der Datenbank auszulesen. Möglich […]
Button Color aus Hexwert ändern
1 |
cmdMyButton.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#28C757")); |
um Button zurück zu setzen:
1 |
cmdMyButton.ClearValue(Button.BackgroundProperty); |
guter einfacher ColorPicker: http://www.colorpicker.com/
Aus einer anderen Klasse, aus einem anderen Thread in MainWindow schreiben
Möchte man aus einer anderen Klasse, aus einem anderen Thread etwas in die Mainklasse Steuerelemente schreiben, stößt man auf 2 Probleme: 1. Man kann aus Thread 2 nicht in Thread 1 schreiben 2. Man kann nicht, ohne ein Objekt angelegt zu haben nicht in die Steuerelemente schreiben. Abhilfe schafft ein kleiner Trick. MainWindow.cs:
1 2 3 4 5 6 |
internal static MainWindow main; internal object Status { get { return lstInfo.Items.CurrentItem; } set { Dispatcher.Invoke(new Action(() => { lstInfo.Items.Add(value); })); } } |
1 2 3 4 5 |
public MainWindow() { InitializeComponent(); main = this; } |
[…]
Schnell mal ein Bild einfügen
Dazu einfach ein Bild in den Designer ziehen. Möchte man im Code-Behind, dann das Bild ersetzen, gibt man der Image-Control einen Namen und führt folgendes aus:
1 |
_Image.Source = new BitmapImage(new Uri(@"/Images/Warning.png", UriKind.RelativeOrAbsolute)); |
Aktuelles Datum binden
als namespace hinzufügen:
1 |
xmlns:sys="clr-namespace:System;assembly=mscorlib" |
Den DateTimePicker erstellen:
1 |
<DatePicker x:Name="dpDateTo" SelectedDate="{x:Static sys:DateTime.Today}"></DatePicker> |
Binding Elementbinding
Möchte man eine Elementeigenschaft an die andere binden, muss man in die Quelleigenschaft gehen und ein {Binding … } einsetzen. Zuerst wird das Objekt, dann dessen Eigenschaft abgefragt. ElementName (welches Element?) Path(welche Eigenschaft?) Bei Path könnte auch etwas anderes stehen. SelectedIndex z.B. oder Items[0] für das erste Item in der ListBox
1 2 |
<TextBox Text="{Binding ElementName=lstMuster, Path=SelectedItem}"></TextBox> <ListBox x:Name="lstMuster"></ListBox> |
Das Visual Studio […]
Binding Allgemein
Unter Binding versteht man, eine Eigenschaft von dem Quellobjekt an eine Eigenschaft des Zielobjekts bindet. Dabei gibt es 2 Arten: Element an ein anderes Element / Element an Datenquelle z.B. Datenbank
Login