XAML 定義はどのようにしてオブジェクト インスタンスに変換されるのでしょうか?

StackOverflow https://stackoverflow.com/questions/114154

  •  02-07-2019
  •  | 
  •  

質問

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 物体。文字列を処理する方法がわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top