WPFでXML要素をXPath条件指定でバインディングする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

WPFのバインディングでは、ソースがXMLの場合は、XPathによって要素の指定ができます。XAMLのバインディングしたいプロパティの値に次のように書きます。

ただ、単純なデータならともかく、普通は条件を指定して要素をバインディングしたい場合も多いと思います。その場合は、式を書くことができますが、= イコールや ‘ クオーテーションといった文字をエスケープしておく必要があります。

たとえば 直下のtype要素が ‘xxx’ という値であるabc要素のenabled をバインディングする場合は下記のようになります。

ただし、Expression BlendのGUIから “カスタム式…” でバインディングする場合は、下記のように入力します。すると▲のように変換されます。

もちろんValueConverterも利用できます。文字列要素だけを含む要素をバインドした場合、値はstring型になるようなのでstringから目的の型に変換するValueConverterを作成すればOKです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク