【问题标题】:Rounded Rect for Context Menu in WPFWPF中上下文菜单的圆角矩形
【发布时间】:2011-08-31 16:06:18
【问题描述】:

我有一个带有自定义按钮的水平堆栈面板,单击该按钮时会在按钮右侧打开一个上下文菜单。我希望该上下文菜单具有圆角矩形。有办法做到这一点吗?我以为我可以将其包装在一个元素中,但 ContextMenu 不响应 Border。谢谢。

【问题讨论】:

    标签: c# wpf xaml contextmenu


    【解决方案1】:

    您可能需要像这样设置 ContextMenu 元素的样式:

    <Style TargetType="ContextMenu">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ContextMenu">
                    <Border CornerRadius="5" BorderBrush="Black" BorderThickness="1" Background="Blue" SnapsToDevicePixels="True">
                        <ItemsPresenter />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    

    用法:

    ContextMenu m = new ContextMenu();
    
    m.Items.Add("Item 1");
    m.Items.Add("Item 2");
    m.Items.Add("Item 3");
    
    m.PlacementTarget = sender as UIElement;
    m.Placement = System.Windows.Controls.Primitives.PlacementMode.Right;
    m.IsOpen = true;
    

    【讨论】:

      猜你喜欢
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多