Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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# 更改AppBarButton背景色_C#_Windows Phone 8.1 - Fatal编程技术网

C# 更改AppBarButton背景色

C# 更改AppBarButton背景色,c#,windows-phone-8.1,C#,Windows Phone 8.1,在C#Windows Phone 8.1中,我使用以下XAML代码创建了一个AppBarButton: <AppBarButton x:Name="btnMore" Icon="More" Foreground="White" IsEnabled="False" Label="More" Grid.Row="1" VerticalAlignment="Top" FontSize="18" Click="AppBarButton_Click" /> 在手机的黑暗主题中,一切都很

在C#Windows Phone 8.1中,我使用以下XAML代码创建了一个AppBarButton:

<AppBarButton x:Name="btnMore" Icon="More" Foreground="White"  IsEnabled="False" Label="More" Grid.Row="1" VerticalAlignment="Top" FontSize="18" Click="AppBarButton_Click" />

在手机的黑暗主题中,一切都很好:

但在灯光主题中,背景色和字体颜色为黑色:

我试图为这个问题设置一个背景和边界笔刷,但没有任何变化,仍然是浅主题段落,圆圈是黑色的(即使按钮被启用)



如何解决此问题?

您的按钮很可能位于命令栏中。 转到命令栏并将其前景设置为您喜欢的任何颜色。
这应该能解决你的问题。它对我很有用。

在你的
应用程序按钮上设置
RequestedTheme=“Dark”
将强制它为白色,与所选主题无关



为什么要在应用程序栏按钮上设置
Foreground=“White”
?应用程序栏按钮将根据选择的明暗主题自动正确调整其颜色。看起来好像你已经将页面背景色强制为黑色,文本前景色强制为白色,因此当应用程序栏按钮更改其颜色时,它不再与背景匹配。如果你想强制你的应用程序只使用黑暗主题,那么在你的任何一个
应用程序
页面
,甚至是
应用程序按钮
(取决于你想影响的范围)上设置
RequestedTheme=“dark”

看一看,它有点过于复杂,包括重新放置AppBarButton。任何硬编码颜色都是主题设置问题的红旗。也可以使用高对比度模式进行测试。如果您需要定制颜色,而不仅仅是挑选所需的主题,请将它们放在主题词典中,以便为不同的主题提供合适的颜色。对于高对比度模式,您通常希望默认为系统颜色。AppBar是系统UI,不允许控制单个按钮的颜色。如果RMT的按钮位于应用程序栏中,则按钮的前景色将被忽略,并且不会发生此问题。
<AppBarButton x:Name="btnMore"  Icon="More" Foreground="White"  IsEnabled="False" Label="More" Grid.Row="1" VerticalAlignment="Top" FontSize="18" Click="AppBarButton_Click" Background="White" BorderBrush="White" />