0

我试图通过 XmlDataProvider 解析来自 XML 的菜单项,但没有运气。出现“添加项目 2”菜单,但仅从该菜单中打开一个空白项目作为子菜单。

我究竟做错了什么?

在我的 XAML 中,我有:

<Window.Resources>
       <XmlDataProvider x:Key="ItemTypes2" Source="c:\Temp\Menu2.xml" XPath="Configuration/ItemTypes2" />
</Window.Resources>

和:

<MenuItem Header="Add Item 2" ItemsSource="{Binding Source={StaticResource ItemTypes2}, XPath=MenuItems2}">
    <MenuItem.Resources>
        <DataTemplate DataType="MenuItem2">
            <MenuItem Header="{Binding XPath=@Header}" />
        </DataTemplate>
    </MenuItem.Resources>
</MenuItem>

在 XML 中:

<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
    <ItemTypes2>
        <MenuItems2>
            <MenuItem2 Header="First" />
            <MenuItem2 Header="Second" />
        </MenuItems2>
    </ItemTypes2>
</Configuration>
4

1 回答 1

1

我认为您的 MenuItem 中的 XPath 存在问题。它应该如下:

<MenuItem Header="Add Item 2" ItemsSource="{Binding Source={StaticResource ItemTypes2}, XPath=MenuItems2/MenuItem2}">
于 2013-05-07T13:02:50.603 回答