我有一個上下文菜單,我希望它的菜單項通過綁定來填充。 下面的代碼工作如何將菜單項綁定到Silverlight中的ContextMenu,包括圖標
<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的犯規結合似乎喜歡
什麼想法?
以編程方式創建菜單將工作,但它打破了我的mvvm模式,這就是爲什麼即時通訊尋找某種方式來執行它綁定單獨 – Lightweight 2010-10-31 18:21:59