我有一个水平堆栈面板,它有一个自定义按钮,点击后会打开按钮右侧的上下文菜单。我希望该上下文菜单有一个圆角矩形。这是一种方法吗?我以为我可以在一个元素中包装,但ContextMenu不响应Border。感谢。
答案 0 :(得分: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;