2009-08-05 8 views
1

私は3つの依存プロパティをウィンドウに登録してそのフォーマットを制御しようとしています。私はコードを何度も見てきましたが、何かが欠けているはずです。WPF:DependencyPropertyが仕事を拒否しました

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

TextBlockDataContextとは何ですか? Windowのプロパティにバインドされていることをどのように知っていますか?

あなたはWindowインスタンスにDataContextを設定するか必要がある、またはあなたのバインディングのSource(またはRelativeSource、またはElementName)のプロパティを設定します。これらのプロパティはすべて、Bindingのバインドされたオブジェクトを解決する手段として存在します。 DataContextは他に設定されていない場合はフォールバックですが、私はあなたがそれを設定していないと推測しています。

+0

私は、最も近いトップレベルという印象を受けていました。 ASP.NETの開発が私の心を汚している;) 親コンテナにRelativeSourceを設定することで問題を解決できます。ありがとう。 – Echilon

関連する問題