我试图通过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>
答案 0 :(得分:1)
我认为您的MenuItem中存在XPath问题。它应该如下:
<MenuItem Header="Add Item 2" ItemsSource="{Binding Source={StaticResource ItemTypes2}, XPath=MenuItems2/MenuItem2}">