XmlDataProviderを使ってXmlをバインドする(C# / Xaml)
これまで、Xmlのデータを使おうと思った場合、XmlDocumentに突っ込んで、パースして、必要なデータのみを抜き出したClassを作って、バインドしていたのですが、これをもっと楽にできないかと思って、調べてみると、XmlDataProvider(MSDN)というものがあることがわかりました。
というわけで、早速サンプル。
今度はこれをMVVMモデルで使うのか。
たぶん、XmlDataProviderオブジェクトを作って、それをItemsSourceにバインドするのかな。
やったことないからわかんないけど……。
というわけで、早速サンプル。
<Grid> <Grid.Resources> <XmlDataProvider x:Key="SampleData" XPath="route/region"> <XmlDataProvider.Source>[Uri]</XmlDataProvider.Source> </XmlDataProvider> </Grid.Resources> <ListBox> <ListBox.ItemsSource> <Binding Source="{StaticResource SampleData}" /> </ListBox.ItemsSource> <ListBox.ItemTemplate> <DataTemplate> <TextBlock FontSize="12" Foreground="Red"> <TextBlock.Text> <Binding XPath="name"/> </TextBlock.Text> </TextBlock> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid>XmlDataProvider.SourceにはUriを設定できるようです。
今度はこれをMVVMモデルで使うのか。
たぶん、XmlDataProviderオブジェクトを作って、それをItemsSourceにバインドするのかな。
やったことないからわかんないけど……。