【发布时间】:2020-02-15 12:36:50
【问题描述】:
我在answering an SO question 时创建了一个简单的 WPF 应用程序,我的解决方案适用于我的 Windows 10 机器,但是当我在我的 Windows 7 笔记本电脑上运行该应用程序时,没有应用样式。我相信这与 Window 的风格设置超过了我的风格有关,我怎样才能强制它使用我的风格呢?
我在两台机器上运行相同的 .exe。
<Window.Resources>
<Style x:Key="CircleButton" TargetType="Button">
<Style.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="1000"/>
</Style>
</Style.Resources>
</Style>
</Window.Resources>
<StackPanel>
<Button Width="50" Height="50" Margin="10" Style="{StaticResource CircleButton}"/>
<Button Width="50" Height="50" Margin="10" Style="{StaticResource CircleButton}"/>
<Button Width="50" Height="50" Margin="10" Style="{StaticResource CircleButton}"/>
</StackPanel>
运行 .NET 4.8 的 Windows 10(应用程序面向 4.6.2)
运行 .NET 4.7.2 的 Windows 7(面向 4.6.2 的应用)
【问题讨论】:
-
您是否尝试过使用相同的 .NET 版本?另外,
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}" x:Key="CircleButton">可以帮助解决问题吗? -
@PavelAnikhouski 我设法找到了一台装有 4.7.2 的 Windows 10 机器,它正确应用了样式,因此确信这不是 .NET 问题,而是 Windows 问题。我也尝试添加 BasedOn 位,但没有任何运气。
标签: .net wpf windows-7 windows-10 wpf-style