我有一个上下文菜单,我希望通过绑定填充它的菜单项。以下代码有效
<Button>
<controlsInputToolkit:ContextMenuService.ContextMenu>
<controlsInputToolkit:ContextMenu ItemsSource="{Binding MenuItems}">
<controlsInputToolkit:ContextMenu.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</controlsInputToolkit:ContextMenu.ItemTemplate>
</controlsInputToolkit:ContextMenu>
</controlsInputToolkit:ContextMenuService.ContextMenu>
</Button>
但有一个问题,ItemTemplate 代表菜单项的文本区域,因此据我所知不允许您设置图标
所以我尝试通过 ItemContainerStyle 进行绑定,如下例所示
<Button>
<controlsInputToolkit:ContextMenuService.ContextMenu>
<controlsInputToolkit:ContextMenu ItemsSource="{Binding MenuItems}">
<controlsInputToolkit:ContextMenu.ItemContainerStyle>
<Style TargetType="controlsInputToolkit:MenuItem">
<Setter Property="Header" Value="{Binding Name}"/>
</Style>
</controlsInputToolkit:ContextMenu.ItemContainerStyle>
</controlsInputToolkit:ContextMenu>
</controlsInputToolkit:ContextMenuService.ContextMenu>
</Button>
但silverlight似乎不喜欢那样
有任何想法吗?