我知道如何使用 C# 中的代码在 xaml 中创建上下文菜单。我找不到的是如何拥有一个菜单项,单击该菜单项将显示一个列表,列表中的每个项目都是指向其他网站的超链接。任何帮助将不胜感激。谢谢!
问问题
977 次
1 回答
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}">
您可以将ContextMenu
任何控件的属性设置为 myContextMenu 以使用它。C# 类
public class ContextMenuItem
{
public string Name
{ get; set; }
public List<String> SubMenuItems
{ get; set; }
}
ViewModel 可以具有属性 ContextMenuItems,即 ContextMenuItems 的集合。
希望这会有所帮助
谢谢
于 2013-08-29T18:49:09.503 回答