Frage

Ich versuche, 3 Abhängigkeitseigenschaften auf einem Fenster registrieren es die Formatierung zu steuern. Ich habe blickte über und über den Code, aber ich muss etwas fehlen.

public static readonly DependencyProperty TextColorProperty = DependencyProperty.Register("TextColor", typeof(Color), typeof(WinStickyFingers), new PropertyMetadata(Colors.White));
public Color TextColor {
    get { return (Color)base.GetValue(TextColorProperty); }
    set { base.SetValue(TextColorProperty, value); }
}

public static readonly DependencyProperty BackgroundColorProperty = DependencyProperty.Register("BackgroundColor", typeof(Color), typeof(WinStickyFingers), new PropertyMetadata(Colors.Black));
public Color BackgroundColor {
    get { return (Color)base.GetValue(BackgroundColorProperty); }
    set {
        base.SetValue(BackgroundColorProperty, value);
    }
}    
<TextBlock DockPanel.Dock="Top" Text="{Binding Name}" Foreground="{Binding TextColor,Converter={StaticResource DebugConverter}}" Background="{Binding Path=BackgroundColor}" />

Ich bin mit Bea Stöllnitz Debugging-Methode, aber mein Breakpoint auch nicht ausgelöst wird.

War es hilfreich?

Lösung

Was ist der DataContext des TextBlock? Woher weiß er, dass es soll auf die Eigenschaften auf Ihrem Window binden?

Sie müssen entweder DataContext auf die Window Instanz festgelegt, oder die Source (oder RelativeSource oder ElementName) setzen Eigenschaften auf Ihre Bindungen. Alle diese Eigenschaften existieren als ein Mittel, um das gebundene Objekt für Ihren Binding lösen. DataContext ist ein Rückfall, wenn keine der anderen gesetzt ist, aber ich glaube, dass man das auch nicht eingestellt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top