更改背景时如何更改 UWP 按钮前景 PointerOver 属性?
Posted
技术标签:
【中文标题】更改背景时如何更改 UWP 按钮前景 PointerOver 属性?【英文标题】:How to change a UWP ButtonForegroundPointerOver property when I change the backgorund? 【发布时间】:2022-01-16 13:43:14 【问题描述】:我正在处理一个 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 属性。如果没有,如何在运行时更改每个按钮的样式?
【问题讨论】:
***.com/a/47346258/7325217 - 如果有帮助请告诉我 【参考方案1】:您有很多方法可以在运行时更改按钮的样式,正如您上面提到的代码,当您更改应用程序的@987654321 时,您已将ButtonForegroundPointerOver
SolidColorBrush 放在ThemeDictionaries
中,并赋予它们浅色或默认键@,它将为使用默认样式的按钮控件应用匹配的 ButtonForegroundPointerOver。
如何在运行时更改每个按钮的样式?
按钮的样式属性可以在运行时设置,你可以用键名制作不同的按钮样式,并从页面或应用程序资源中加载,然后应用到按钮样式。
更多信息请参考XAML styles document。
【讨论】:
以上是关于更改背景时如何更改 UWP 按钮前景 PointerOver 属性?的主要内容,如果未能解决你的问题,请参考以下文章