18

VS2012RTMを使用するWindows8RTMで、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%です

ここに画像の説明を入力してください

内側の円が外側の円の中心になく、ひどく見えます。ラジオボタン付きのシステムアプリケーションは問題ありませんが、私のWPF4.5アプリは問題ありません。繰り返しになりますが、このサンプルアプリは100%RTMビットであり、Win8ではゼロから作成されています。

それはすべて壊れているのでしょうか、それともこれを修正する方法がありますか(人々が100%DPIスケーリングを行うように主張することは別として)。

Win8がこのような高解像度の画面やスケーリングの問題に大いに役立つことを本当に望んでいましたが、単純なものは箱から出してひどく壊れています:-(


編集:ファイルされた接続バグhttps://connect.microsoft.com/VisualStudio/feedback/details/758368/radio-button-rendering-is-incorrect-on-windows-8-with-125-dpi-scaling-set

編集:8/29/12:

WPFチームは最近この問題を確認しましたが、現時点ではWPF開発者の最大数に影響を与えるバグに焦点を当てているため、この問題には対処しません。これが誤って解決されたと思われる場合は、必要なサポートの詳細を使用してこのバグを再度アクティブにしてください。

4

2 に答える 2

1

WPF のすべてがスタイル設定されています。デフォルトのシステム スタイルの場合、私自身の経験では、このような問題がほとんどないことがあります。OS自体ではなくスタイルであることを確認するための簡単な修正は、自分でコントロールのスタイルを変更し、それが修正されるかどうかを確認することです。

この質問を見ると、元のスタイルを見つけることができます。これらは、問題の再構築および/または修正に役立ちます

于 2013-01-11T16:06:42.263 に答える
0

スタックパネルをビューボックスに入れてみることができます..多分

于 2012-10-17T10:52:20.793 に答える