![]() |
Dependency Property binden
Hallo,
Habe gerade das erste mal was mit (eigenen) Dependency Properties zu tun und ich bin mir sicher, dass ich da irgendwas noch nicht verstanden habe. Ich habe für mein Formular eine Test-Property definiert:
Code:
In meiner XAML will ich nun das Formular einfärben, wenn meine Test-Property den Wert "Hallo" hat:
public partial class MainWindow : Window
{ public static DependencyProperty TestProperty = DependencyProperty.Register("Test", typeof(string), typeof(MainWindow), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)); public MainWindow() { InitializeComponent(); } public string Test { get { return (string)GetValue(TestProperty); } set { SetValue(TestProperty, value); } } private void Button_Click(object sender, RoutedEventArgs e) { Test = "Hallo"; } }
Code:
Es funktioniert allerdings nicht - egal wie sehr ich mich aufn Kopf stelle. Wenn ich statt "Test" den Titel des Windows abfrage ("Title") dann funktioniert es.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WPFSpielplatz" Title="Testform" Height="561" Width="873"> <Window.Style> <Style TargetType="{x:Type local:MainWindow}"> <Style.Triggers> <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding Test, RelativeSource={RelativeSource Self}}" Value="Hallo"/> </MultiDataTrigger.Conditions> <Setter Property="local:MainWindow.Background" Value="Cyan"/> </MultiDataTrigger> </Style.Triggers> </Style> </Window.Style> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinitions> <Button x:Name="btTest" Content="Test" Click="Button_Click" Grid.Column="0"/> </Grid> </Window> Ich habe auch schon versucht meine Property einfach an den Content des Buttons o.ä. zu binden, aber auch da keine Reaktion wenn ich meine Testproperty geändert habe. Was fehlt hier? EDIT: Ich glaube es hat sich erledigt. Gerade funktioniert es irgendwie. :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz