マークアップ拡張機能を書いています。私はこのようなXAMLを持っています
<TextBlock Text="{ui:Test SomeInfo}" />
コンストラクターが1つの文字列引数を取るTestExtension。「SomeInfo」文字列を取得しているので、すべてが見つかります。今、私は拡張機能をネストして、次のようなものを書きたいです
<TextBlock Text="{ui:Test {Binding PropName}}" />
そのままでは動作しません。System.Windows.Data.Binding型の引数を1つ取るコンストラクターを追加する必要がありました。
今私は知る必要があります
- Bindingオブジェクトから現在の値を取得するにはどうすればよいですか?
- いつこれを行う必要がありますか?何らかの方法で変更をサブスクライブする必要がありますか、それともProvideValueメソッドで毎回その値を要求する必要がありますか?
Update1 PropNameは、TextBlockのDataContextに対して解決する必要があります。
Update2関連する質問が見つかりました:データバインディングの値を解決するにはどうすればよいですか?