2

バインドしているオブジェクトに、ResourceKeyを表す文字列を持つプロパティがあるとします。StaticResourceを取得して、基になるオブジェクトへのバインドに基づいて、そのResourceKeyを動的に取得するにはどうすればよいですか。

これに相当するものが欲しい

MyProperty="{StaticResource ResourceKey={Binding Path=MyProperty}}"

これはコンパイル中に、System.Windows.Data.Bindingタイプのキーが見つからないと文句を言って失敗します。

基礎となる値が変更された場合、動的な再評価は必要ありません(例:DynamicResource)

4

2 に答える 2

3

ここで探していたものを正確に見つけました:

http://blog.functionalfun.net/2009/12/specifying-resource-keys-using-data_31.html

これは、通常のバインディングのように動作するカスタム マークアップ拡張機能ですが、Path はターゲットを ResourceKey に変換するプロパティを指し、バインディングはリソースを返します!

これは非常に便利です。

于 2012-11-07T06:02:25.850 に答える