2013-08-29 86 views

回答

2

這就是你如何通過MVVM完全實現這一點。

XAML:

<DataTemplate x:Key="SubMenuItemTemplate"> 
     <ContentControl> 
      <Hyperlink> 
       <TextBlock Text="{Binding}"/> //Here you can bind to your site address property 
      </Hyperlink> 
     </ContentControl> 
    </DataTemplate> 

    <Style x:Key="MenuItemStyle" TargetType="{x:Type MenuItem}"> 
     <Setter Property="ItemsSource" Value="{Binding SubMenuItems}"/> 
     <Setter Property="ItemTemplate" Value="{StaticResource SubMenuItemTemplate}"/> 
    </Style> 

    <ContextMenu x:Key="myContextMenu" ItemsSource="{Binding ContextMenuItems}" DisplayMemberPath="Name" ItemContainerStyle="{StaticResource MenuItemStyle}"> 

您可以設置任何控制,將myContextMenu的ContextMenu屬性來使用它。 C#類

public class ContextMenuItem 
{ 
    public string Name 
    { get; set; } 

    public List<String> SubMenuItems 
    { get; set; } 
} 

視圖模型可以擁有財產ContextMenuItems即ContextMenuItems的集合。

希望這將有助於

感謝

+0

沒有爲你工作? – Nitin