更改背景时如何更改 UWP 按钮前景 PointerOver 属性?

How to change a UWP ButtonForegroundPointerOver property when I change the backgorund?

我正在处理一个 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 属性 的选项。如果没有,如何在运行时更改每个按钮的样式?

你有很多方法可以在运行时改变按钮的样式,正如你上面提到的代码,你已经将 ButtonForegroundPointerOver SolidColorBrush 放在 ThemeDictionaries 中并给它们亮暗或默认键,当您更改应用程序的 theme,它将为使用默认样式的按钮控件应用匹配的 ButtonForegroundPointerOver。

how can I change each button's style at runtime?

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

更多信息请参考XAML styles document