Windowのリソースで定義したオブジェクトにバインドする時、
Sourceプロパティを指定して参照すると上手く表示されません。
原因を特定するため色々いじってみたら、
一旦親Panelのデータコンテキストを経由してバインドすると上手く表示されました。
なぜこのような挙動の違いが出るのか教えてください。
XML
1<Window 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:System="clr-namespace:System;assembly=mscorlib" 5 x:Class="WpfApplication5.MainWindow" 6 Title="MainWindow" 7 Width="640" Height="480"> 8 <Window.Resources> 9 <XmlDataProvider x:Key="System"> 10 <x:XData> 11 <System xmlns=""> 12 <item type="bool">真偽</item> 13 <item type="int">数値</item> 14 <item type="string">文字列</item> 15 </System> 16 </x:XData> 17 </XmlDataProvider> 18 <XmlDataProvider x:Key="System2"> 19 <x:XData> 20 <System xmlns=""> 21 <item type="bool">真偽</item> 22 <item type="int">数値</item> 23 <item type="string">文字列</item> 24 </System> 25 </x:XData> 26 </XmlDataProvider> 27 </Window.Resources> 28 29 <StackPanel x:Name="LayoutRoot" Background="White" DataContext="{Binding Source={StaticResource System}}"> 30 <!--ここは正常に表示される--> 31 <ListBox ItemsSource="{Binding XPath=/System/item}" /> 32 <!--表示されない--> 33 <ListBox ItemsSource="{Binding Source={StaticResource System}, XPath=/Sytem/item}" /> 34 </StackPanel> 35</Window>
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/18 07:52