我在XAML中的样式为MenuItem
,在Windows 7和Windows 10之间看起来有所不同。
MenuItem 代码:
<MenuItem Click="LangMouseLeftButtonUp" ContextMenuOpening="LangMouseRightButtonUp"
x:Name="LangImageIcon">
<MenuItem.Style>
<Style TargetType="MenuItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Language.ActualLanguage}" Value="EN">
<Setter Property="Icon">
<Setter.Value>
<Border CornerRadius="20" Width="26" Height="26"
Margin="0" Padding="0,0,0,0" Background="Transparent"
BorderBrush="White" BorderThickness="1">
<TextBlock HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="White" Background="Transparent"
Text="EN" />
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Language.ActualLanguage}" Value="DE">
<Setter Property="Icon">
<Setter.Value>
<Border CornerRadius="20" Width="26" Height="26"
Margin="0" Padding="0,0,0,0" Background="Transparent"
BorderBrush="White" BorderThickness="1">
<TextBlock HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="White" Background="Transparent"
Text="DE" />
</Border>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
如何从Windows 10更改行为,使其看起来像Windows7。或者,如何更改样式,以便在更改代码时Windows 7显示相同的按钮,以便在Windows中看起来不错10?
答案 0 :(得分:0)
这是因为Windows 7和Windows 10使用不同的主题。哪一个依次定义了Icon
的{{1}}大小。解决此问题的方法。
尝试为MenuItem
设置较小的Height
和Width
;如果这对您有用。 我猜在Border
某处可以工作。
在18
下添加到您的应用程序/ ResourceDictionary
的{{1}}中。这告诉您的WPF应用程序使用 Aero 主题。
MenuItem
如果您未指定版本和公共密钥令牌,则必须将主题程序集复制到可执行文件夹中。
Resources
上定义<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
,从而避免使用Template
,并且两个操作系统版本都可以使用相同的功能。