来自资源时wpf子菜单不工作
我想使用资源中定义的wpf菜单项作为菜单和子菜单。当作为一个普通菜单使用时,它可以工作,但我不能使它在子菜单上工作 下面是一个示例代码:来自资源时wpf子菜单不工作,wpf,menuitem,submenu,Wpf,Menuitem,Submenu,我想使用资源中定义的wpf菜单项作为菜单和子菜单。当作为一个普通菜单使用时,它可以工作,但我不能使它在子菜单上工作 下面是一个示例代码: <Grid Background="Transparent"> <Grid.Resources> <x:Array Type="{x:Type sys:Object}" x:Key="Extensions"> <Separator />
<Grid Background="Transparent">
<Grid.Resources>
<x:Array Type="{x:Type sys:Object}" x:Key="Extensions">
<Separator />
<MenuItem Header="Extension MenuItem 1" />
<MenuItem Header="Extension MenuItem 2" />
<MenuItem Header="Extension MenuItem 3" />
</x:Array>
</Grid.Resources>
<Grid.ContextMenu>
<ContextMenu>
<ContextMenu.ItemsSource>
<CompositeCollection>
<MenuItem Header="Standard MenuItem 1" />
<CollectionContainer Collection="{StaticResource Extensions}" />
<MenuItem Header="Extension" >
<CollectionContainer Collection="{StaticResource Extensions}" />
</MenuItem>
</CompositeCollection>
</ContextMenu.ItemsSource>
</ContextMenu>
</Grid.ContextMenu>
</Grid>
我得到的结果是:
有人能给我正确的wpf语法吗
Tia您需要指定
ItemSource
并正确绑定资源:
<MenuItem Header="Extension" >
<MenuItem.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource Extensions}}" />
</CompositeCollection>
</MenuItem.ItemsSource>
</MenuItem>
完美。仅缺少itemsSource和CompositeCollection。装订是正确的。