我的应用程序中有一些共享资源(假设它是一个简单的SolidColorBrush
对象),我在不同的控件和元素中使用它。
如果我的资源是在共享资源字典中初始化的,我可以使用{StaticResource MyResourceName}
在我的XAML代码中引用它们就好了,一切正常。
问题是我有一些资源依赖于某些运行时属性(例如设备的类型),所以我在应用程序启动时用C#初始化它们。
当然,XAML Designer无法找到这些资源,因为它们尚未创建,会强调这些行并发出错误信号。
有没有办法隐藏这些XAML Designer错误以防万一我 引用我知道的资源将在运行时可用吗?
编辑:这是我在运行时如何加载资源的示例:
SolidColorBrush test = new SolidColorBrush { Color = Colors.Green };
Application.Current.Resources["MyRuntimeResource"] = test;
答案 0 :(得分:1)
尝试使用ThemeResource
<Border Background="{ThemeResource MyRuntimeResource}"/>
https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/xaml-theme-resources
当应用加载
时,会发生对{ThemeResource}标记扩展的评估