WPF: DependencyProperty отказывается работать - PullRequest
1 голос
/ 05 августа 2009

Я пытаюсь зарегистрировать 3 свойства зависимостей в окне для управления его форматированием. Я просматривал код снова и снова, но я должен что-то упустить.

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}" />

Я использую метод отладки Bea Stollnitz, но моя точка останова даже не срабатывает.

1 Ответ

1 голос
/ 05 августа 2009

Что такое DataContext из TextBlock? Откуда он знает, что он должен связываться со свойствами вашего Window?

Вам нужно либо установить DataContext на экземпляр Window, либо установить свойства Source (или RelativeSource, или ElementName) для своих привязок. Все эти свойства существуют как средство разрешения связанного объекта для вашего Binding. DataContext является запасным вариантом, если ни один из остальных не установлен, но я предполагаю, что вы также не установили его.

...