XAML ファイル内にデータソースを埋め込む
XmlDataProvider 要素内に x:XData 要素を定義して、その中に直接記述した XML の内容をリストボックスにデータバインドで表示しようとしていたのですが、なぜかデータが表示されず悩んでいました。
原因はなんだったかというと、ルート要素に名前空間の宣言が必要だったのです。下記のように xmlns="" を追加すると表示されるようになりました。
<UserControl.Resources>
<XmlDataProvider x:Key="MyDataSource" XPath="/Breads">
<x:XData>
<Breads xmlns="">
<Bread>ベーグル</Bread>
<Bread>フガス</Bread>
<Bread>バケット</Bread>
<Bread>バタール</Bread>
<Bread>フィセル</Bread>
<Bread>リュスティック</Bread>
<Bread>カイザーゼンメル</Bread>
<Bread>ロッゲンフォルコーンブロート</Bread>
<Bread>プレッツェル</Bread>
<Bread>チャパタ</Bread>
</Breads>
</x:XData>
</XmlDataProvider>
</UserControl.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource MyDataSource}, XPath=Bread}"/>
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2149
コメント