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
コメント