2

コードでWPFでDynamicResource Bindingを取得するのに役立つ人はいますか?

バインディングを設定しました 次のように、

TextBlock Background={DynamicResource ColorA} Xaml の Name="TB"。

そして、取得する必要があります-TBの背景は「ColorA」にバインドされています。コーディングによって、WPF でこの DynamicResource Binding Expression にアクセスするにはどうすればよいですか。TB.Background を取得しようとすると、白 (#FFFFF ..) であるか、または与えられるリソース キー "ColorA" に値を既に与えている場合。しかし、私はこのバインディング式を取得したい. よろしくお願いいたします。


私の質問は明確ではなかったと思います。Xamlの「TB」に何のリソースバインディングをしたかをコードで取得したい。しかし、TB.GetResourceReference はありません。そう思ってほしい。そのバインディング式が WPF で保持される場所。TB の BackgroundProperty がどのキーにバインドされているかを取得する必要がありますか? 突然の回答ありがとうございます。

4

2 に答える 2

3

FrameworkElement.SetResourceReference メソッドを使用できます。

MSDN: http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.setresourcereference.aspx

xaml に次のものが含まれているとします。

<TextBlock x:Name="TB">

これは、コード ビハインドで次のように記述できます。

TB.SetResourceReference(BackgroundProperty, "ColorA");
于 2009-11-13T17:28:06.370 に答える
1

これを使用できます:

YourControl.Style = this.FindResource(NameOfYourStyleForThisControl) as Style;
于 2011-11-30T13:55:39.243 に答える