我试图通过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}">