[UWP]
我有许多带有来自 App.xaml 的颜色绑定的网格
主页.xaml ...
<Grid
Height="45"
Margin="0,0,0,10"
Background="{ThemeResource MyColor}">
App.xaml
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
RequestedTheme="Dark">
<Application.Resources>
<ResourceDictionary>
<SolidColorBrush x:Key="MyColor">#FFFFFF</SolidColorBrush>
然后我想用这样的代码更改它的所有内容
Application.Current.Resources["MyColor"] = new SolidColorBrush(Windows.UI.Color.FromArgb(255, 242, 101, 34));
但这不起作用。我可以错过一些东西吗?当我导航到另一个页面并返回时,上面的代码抛出 System.Exception
StaticResource
and ThemeResource
不支持动态更改,正如您尝试的那样DynamicResource
在 WPF 中。顺便说一句,如果您重新加载视图(例如前后导航),您可以看到更改,但这不是一个好的解决方案。
另一方面,您可以通过以下方式实现一些动态变化ThemeResource
并改变例如。颜色取决于当前主题(深色、浅色、高对比度)
进一步阅读:https://learn.microsoft.com/en-us/windows/uwp/controls-and-patterns/xaml-theme-resources https://learn.microsoft.com/en-us/windows/uwp/controls-and-patterns/xaml-theme-resources
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)