XAML 定義はどのようにしてオブジェクト インスタンスに変換されるのでしょうか?
質問
XAML では、中括弧を含む文字列を使用して属性値を指定できます。以下は、 バインディング インスタンスを作成し、それを 文章 の財産 テキストボックス 要素。
<TextBox Text="{Binding ElementName=Foo, Path=Bar}"/>
開発者がこれを有効なものとして入力できるように XAML を拡張したいと考えています...
<TextBox Text="{MyCustomObject Field1=Foo, Field2=Bar}"/>
これにより、クラスのインスタンスが作成され、Field1/Field2 プロパティが適切に設定されます。これは可能でしょうか?もしそうならどうやってやりますか?
それが可能であれば、追加の質問があります。文字列を受け取ってもいいですか "{バインディング要素名 = Foo、パス = Bar}" そしてフレームワークにそれを処理して返すように依頼します。 バインディング 指定されたインスタンス?上記の XAML を機能させるには、これをどこかですでに実行する必要があるため、同じ処理を要求する方法が必要です。
他のヒント
の Binding
クラスは マークアップ拡張機能. 。次から派生して独自に作成できます。 System.Windows.Markup.MarkupExtension
.
ElementName
そして Path
単なるプロパティです Binding
物体。
フォローアップについては、新しいものを作成できます Binding
コード内でインスタンス化することで、 Binding
物体。文字列を処理する方法がわかりません。
所属していません StackOverflow