Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF笔刷颜色从win10更改为win8_C#_Wpf_Xaml_Tablet - Fatal编程技术网

C# WPF笔刷颜色从win10更改为win8

C# WPF笔刷颜色从win10更改为win8,c#,wpf,xaml,tablet,C#,Wpf,Xaml,Tablet,我在Windows10上开发了一个wpf应用程序,现在我在x86Windows8平板电脑上试用了它 当在平板电脑中运行时,一些前景颜色显示不同(特别是黑色变为蓝色,白色变为黄色) 更改显示在文本块、标签、按钮内容文本和datagrid标题上 另一方面,“红色”或任何其他不太暗或不太亮的十六进制颜色将按预期显示 同样,我有一些Canvas元素,它们有定义为黑色或白色的填充笔刷,并且能够正确渲染 测试用例: <Window Background="#FF808080"> <Grid

我在Windows10上开发了一个wpf应用程序,现在我在x86Windows8平板电脑上试用了它

当在平板电脑中运行时,一些前景颜色显示不同(特别是黑色变为蓝色,白色变为黄色)

更改显示在文本块、标签、按钮内容文本和datagrid标题上

另一方面,
“红色”
或任何其他不太暗或不太亮的十六进制颜色将按预期显示

同样,我有一些
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的屏幕截图(按顺序):

解决方案

强制窗口将软件渲染与
RenderOptions.ProcessRenderMode=RenderMode.SoftwareOnly一起使用


现在,下一个问题是为什么GPU加速渲染会影响文本颜色,以及如何具体更改。我的应用程序不需要大量的图形,所以我现在只需要启用sw渲染就可以了。

你有没有检查过这个,听起来很像

这看起来很合理。非常感谢。正是我的问题,也解决了,谢谢你-真不敢相信我在谷歌搜索答案时错过了它。@tonsteri这真的很难找到。