WPF -菜单项从XML通过XmlDataProvider



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

我做错了什么?

在我的XAML中我有:

<Window.Resources>
       <XmlDataProvider x:Key="ItemTypes2" Source="c:TempMenu2.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>

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

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

最新更新