Подтвердить что ты не робот

Почему мои переключатели Windows 8 WPF все в порядке?

В RTM Windows 8 с RTM RT2012 я заметил, что мое приложение 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 это не так). Вы увидите, что переключатели идеальны.

enter image description here

Это то же самое приложение с настройками DPI на 125%, которое является DPI по умолчанию для моего разрешения экрана.

enter image description here

Здесь 150%

enter image description here

Вы можете видеть, что внутренние круги не центрированы внутри внешнего круга, и он выглядит ТЕРРОМ. Системные приложения с переключателями в порядке - но мое приложение WPF 4.5 - нет. Еще раз это примерное приложение - это 100% бит RTM и с нуля под Win 8.

Разве это просто сломано или есть способ исправить это (кроме того, что люди настаивают на 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. Если вы считаете, что это было разрешено по ошибке, пожалуйста, активируйте эту ошибку с помощью любого необходимые вспомогательные детали.

4b9b3361

Ответ 1

Все в WPF стилизовано. В случае стилей системы по умолчанию они иногда, по моему собственному опыту, имеют мало таких проблем. Простое исправление, чтобы подтвердить, что это стиль, а не сама ОС, состоит в том, чтобы самостоятельно восстановить контроль и посмотреть, исправляет ли он это.

Вы можете найти оригинальный стиль, посмотрев этот вопрос. Это поможет вам восстановить и/или исправить проблему.

Ответ 2

Вы можете попробовать поставить стекную панель в окне просмотра. Возможно,