У меня есть приложение wpf, разработанное в Windows 10, которое я пробовал теперь на планшете x86 Windows 8.Цвет кисти WPF изменяется от win10 до win8 tablet
При запуске в планшете некоторые цвета переднего плана отображаются по-разному (особенно черные переходят на синий и белый на желтый).
Изменения отображаются в текстовых блоках, ярлыках, текстовых текстах кнопок и заголовках данных.
С другой стороны, "Red"
или любой другой шестицветный цвет, который не очень темный или очень яркий, будет отображаться, как ожидалось.
С другой стороны, у меня есть элементы Canvas
, которые имеют заполняющие кисти, определенные как черные или белые, и они визуализируются правильно.
Тестовый пример:
<Window Background="#FF808080">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- labels -->
<StackPanel Orientation="Vertical" Grid.Column="0">
<StackPanel.Resources>
<Style TargetType="Label">
<Setter Property="FontSize" Value="30"/>
</Style>
</StackPanel.Resources>
<Label Foreground="Black">Black</Label>
<Label Foreground="Red">Red</Label>
<Label Foreground="White">White</Label>
</StackPanel>
<!-- graphics -->
<StackPanel Orientation="Vertical" Grid.Column="1" Margin="10 0 0 0">
<Ellipse Width="100" Height="100" Fill="Black"/>
<Ellipse Width="100" Height="100" Fill="Red"/>
<Ellipse Width="100" Height="100" Fill="White"/>
</StackPanel>
</Grid>
</Window>
Скриншоты из планшета win8 и настольным win10 (в указанном порядке): http://imgur.com/a/1WJRI
SOLUTION окно
Force использовать программное обеспечение визуализации с RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
Теперь следующий вопрос почему графическое ускорение рендеринга влияет на цвет текста и как его изменить. Мое приложение не тяжело для графики, поэтому я просто включу sw-рендеринг на данный момент и сделаю это.
Это выглядит разумно. Спасибо! – Smartis
Точно моя проблема и исправила это тоже, спасибо - не могу поверить, что я пропустил это, когда искал ответы на вопросы. – tonsteri
@tonsteri Это было очень трудно найти. – Smartis