仅更改菜单项单选按钮和复选框
本文关键字:复选框 单选按钮 菜单项 | 更新日期: 2024-11-08 07:37:19
对于分隔符,可以只更改此分隔符,这些都包含在MenuItem中。因此,我不得不使用:
<Style TargetType="{x:Type Separator}" x:Key="{x:Static MenuItem.SeparatorStyleKey}">
菜单项和单选按钮有这样的东西吗?另一个问题是,这只能在Windows7下正常工作,而在Windows XP下不能正常工作。我稍后发布了整个代码,但我不必指定带有键的分隔符。它是这样工作的 - 在 Windows7 下。在Windows XP中,颜色更改为,但是一个奇怪的透明边框是关于整个分隔符的。但是我只画了 1 个边框来用分隔符控件模板中的颜色填充它,而不是两个!
我可以在某个地方找到MenuItem的子"样式键"吗? vs 在这一点上没有智能。
以下是完整的代码:
<Style TargetType="{x:Type Separator}" x:Key="{x:Static MenuItem.SeparatorStyleKey}">
<Setter Property="Background" Value="{Binding Path=Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Menu}}}"/>
<Setter Property="Focusable" Value="false"/>
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border Background="{TemplateBinding Background}"
SnapsToDevicePixels="True"
Height="2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Windows XP的问题是,我没有覆盖默认样式。
带有单选按钮和复选框的另一个问题始终存在
另一个问题是,我必须覆盖网格背景的默认样式。 我必须用颜色在网格的背景上画一条线,并包含默认内容。该行不应在每个窗口手动添加,而应位于应用程序每个窗口的相同位置。
但是这条线应该只是一条线,而不是填满整个窗口,我不知道窗口的宽度和高度。 我可以使用吗? 有没有例子?