WPF中上下文菜单的圆角矩形

本文关键字:圆角 菜单 上下文 WPF | 更新日期: 2023-09-27 18:07:00

我有一个水平的堆栈面板,有一个自定义按钮,当点击时,打开一个上下文菜单的按钮的右边。我想让上下文菜单有一个圆角矩形,有办法吗?我以为我可以在元素中包装,但ContextMenu不响应边界。谢谢。

WPF中上下文菜单的圆角矩形

您可能需要像这样设置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;