我知道如何使用C#中的代码在xaml中创建上下文菜单。我找不到的是如何有一个菜单项,当点击时将显示一个列表,列表中的每个项目都是到其他网站的超链接。任何帮助将不胜感激。 谢谢!
答案 0 :(得分: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#class
public class ContextMenuItem
{
public string Name
{ get; set; }
public List<String> SubMenuItems
{ get; set; }
}
ViewModel可以拥有属性ContextMenuItems,即ContextMenuItems的集合。
希望这会有所帮助
由于