WPF上下文菜单,下拉列表显示超链接

时间:2013-08-29 18:14:04

标签: wpf

我知道如何使用C#中的代码在xaml中创建上下文菜单。我找不到的是如何有一个菜单项,当点击时将显示一个列表,列表中的每个项目都是到其他网站的超链接。任何帮助将不胜感激。 谢谢!

1 个答案:

答案 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的集合。

希望这会有所帮助

由于