当我更改backgorund时,如何更改UWP ButtonForegroundPointerOver属性



我正在处理一个UWP项目,我需要在应用程序运行时更改按钮的背景和前景色。我已经做到了,但我也有一段代码可以让我禁用所有UWP按钮中出现的恼人的悬停效果。

这是我的App.xaml代码:

<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<SolidColorBrush x:Key="ButtonForegroundPointerOver" Color="White"/>
<SolidColorBrush x:Key="ButtonBackgroundPointerOver" Color="Gray"/>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>

我想知道如何才能更改";颜色";属性以匹配每个按钮的状态(它们具有不同的颜色和背景(。是否有默认情况下将颜色设置为ButtonBackground属性的选项。如果没有,我如何在运行时更改每个按钮的样式?

您有很多方法可以在运行时更改按钮的样式,正如您上面提到的代码一样,您可以将ButtonForegroundPointerOverSolidColorBrush放置在ThemeDictionaries中,并为其提供亮-暗或默认键,当您更改应用程序的主题时,它将为使用默认样式的按钮控件应用匹配的ButtonForegroundPointerOver。

如何在运行时更改每个按钮的样式?

Button的样式属性可以在运行时设置,您可以使用键名创建不同的按钮样式,并从页面或应用程序资源加载它,然后应用于按钮样式。

有关详细信息,请参阅XAML样式文档。

最新更新