値にバインドし、コンバーターを実行して、その値のプロパティを表示しようとしています。プロパティの変更を追跡する必要があるため、Converter が必要なプロパティを直接返すようにしてもうまくいきません。
私が達成しようとしているのは、次のようなものです。
// NOTE: FOLLOWING IS NOT SUPPORTED BY WPF
// A 'Binding' cannot be set on the 'Source' property of type 'Binding'.
// A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
Text={Binding TextField Source={Binding SomeValue, Converter={StaticResource GetObjectFromValueConverter}}}`
理想的には、これはすべて単純なマークアップ拡張機能にまとめられます。
Text={l:GetTextField SomeValue}
Tag
問題は、要素をコンバーターにバインドしてから、次のようにターゲット フィールドをプロパティにバインドする以外に、これを行う方法を見つけることができなかったことです。
Tag={Binding SomeValue, Converter={StaticResource GetObjectFromValueConverter}}
Text={Binding Tag.TextField, RelativeSource={RelativeSource Self}}
これは明らかに面倒で、制限があり (1 つのフィールドしか得られないTag
)、乱暴に感じます。しかし、変更を監視しながら、他にどのように私が望むものを達成することができTextField
ますか?