在带有VS2012 RTM的Windows 8 RTM中,我注意到我的WPF应用程序给了我变形的单选按钮,所以我决定创建一个示例来查看我是否做错了。
以下是整个XAML应用程序:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid>
<StackPanel Margin="20">
<RadioButton Content="Option 1" GroupName="1"/>
<RadioButton Content="Option 2" GroupName="2"/>
<RadioButton Content="Option 3" GroupName="3"/>
</StackPanel>
</Grid>
</Window>
这里我将DPI设置设置为100%,这实际上不是Windows 8中的默认设置(至少我的1920x1200屏幕不是这样)。你会看到单选按钮是完美的。
这与DPI设置相同的应用程序为125%,这是我的屏幕分辨率的默认DPI。
这是150%
您可以看到内圈不在外圈中居中,看起来很可怕。带有单选按钮的系统应用程序很好 - 但我的WPF 4.5应用程序不是。这个示例应用程序再一次是100%RTM位,在Win 8下从头开始。
它是否全部被打破或者是否有办法解决这个问题(除了坚持让人们进行100%DPI缩放)。
真的希望Win8能够在高分辨率屏幕和缩放问题方面走得很远,但是开箱即用的东西很简单: - (
编辑:2012年8月29日:
WPF团队最近审核了这个问题,但不会 解决这个问题,因为此时团队正在关注这些问题 影响最多的WPF开发人员。如果你相信 这是错误解决,请重新激活任何错误 必要的支持细节。
答案 0 :(得分:1)
WPF中的所有内容都是样式化的。在默认系统样式的情况下,根据我自己的经验,他们有时会遇到这样的问题。一个简单的修复,确认它是风格,而不是操作系统本身是自己重新设置控件,看看是否修复它。
您可以通过查看this问题找到原始样式。这些将帮助您重建和/或解决问题
答案 1 :(得分:0)
您可以尝试将堆叠面板放在视图框中。也许