3

このまったく同じコードは、Visual Studio 2010 WPF デザイナーでは正しく表示されますが、VS 2013 デザイナーでは機能しません。

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="200" Width="300">
<Window.Resources>
    <XmlDataProvider x:Key="xdata" XPath="root" IsInitialLoadEnabled="True" IsAsynchronous="False">
        <x:XData>
            <root xmlns="">
                <item value="one" />
                <item value="two" />
                <item value="three" />
            </root>
        </x:XData>
    </XmlDataProvider>
</Window.Resources>
<Grid>
    <ListBox ItemsSource="{Binding Source={StaticResource xdata}, XPath=*}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding XPath=@value}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>

VS 2010 デザイナーは、項目「1」、「2」、および「3」を含むリスト ボックスを正しく表示します。しかし、VS 2013 デザイナーには空のリスト ボックスしか表示されません。

XmlDataProvider の Source プロパティをプロジェクトの一部である xml ファイルに設定すると、2013 デザイナーに表示されますが、xml ファイルへの変更は、プロジェクトが再ビルドされるまでデザイナーに反映されません。ただし、VS 2010 では、x:XData タグ内のインライン xml への変更は、すぐにデザイナーに反映されます。

私は何を間違っていますか?それとも、Microsoft は 2013 年にこの動作を削除しましたか?

4

0 に答える 0