如何以编程方式设置菜单项边框的角半径
本文关键字:边框 菜单项 设置 编程 方式 | 更新日期: 2023-09-27 18:07:20
如何访问菜单项的边界以更改角半径?
这是不工作:
Style menuitemStyle = new Style(typeof(MenuItem));
menuitemStyle.Setters.Add(new Setter { Property = Border.CornerRadiusProperty, Value = 2 });
m.Style = menuitemStyle;
下面是xaml(没有任何内容):
<Grid><StackPanel Orientation="Horizontal" HorizontalAlignment="Left" x:Name="spSub" VerticalAlignment="Top" >
</StackPanel></Grid
Update<& lt; & lt;我试着把这个添加到xaml,但菜单项的边界仍然是方形的:
<UserControl.Resources>
<ControlTemplate x:Key="subMenuItem" TargetType="MenuItem">
<Border CornerRadius="5"></Border>
</ControlTemplate>
</UserControl.Resources>
我会在XAML中使用样式并覆盖控件模板。
<Style TargetType="{x:Type MenuItem}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type MenuItem}">
<Border BorderBrush="Red" BorderThickness="10" CornerRadius="10">
<TextBlock Text="Content" ></TextBlock>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你应该能够修改TextBlock到你想要的显示控件或绑定相应的数据到它。我只是夸大了BorderThickness,以显示更改后的效果。