【发布时间】:2017-12-16 13:30:26
【问题描述】:
我的应用中有一些共享资源(假设它是一个简单的SolidColorBrush 对象),用于不同的控件和元素。
如果我的资源在共享资源字典中初始化,我可以在我的 XAML 代码中使用 {StaticResource MyResourceName} 引用它们,一切正常。
问题是我有一些资源依赖于一些运行时属性(例如设备类型),所以我在应用启动时用 C# 初始化它们。
当然,XAML 设计器找不到这些资源,因为它们尚未创建,会在这些行下划线并发出错误信号。
有没有办法隐藏这些 XAML 设计器错误,以防万一 引用我知道将在运行时可用的资源?
编辑:这是我如何在运行时加载资源的示例:
SolidColorBrush test = new SolidColorBrush { Color = Colors.Green };
Application.Current.Resources["MyRuntimeResource"] = test;
【问题讨论】:
-
如何让资源在运行时可用?
-
你的样本不好,如果我是你,我更喜欢直接在后面的代码中设置
Border.Background。为什么要使用资源? -
您可以尝试使用设计时资源。但是您仍然需要创建它们,只是不必在应用运行时使用它们
-
@LeiYang "为什么要使用资源?" - 严重地?您真的认为在我使用该资源的每个控件中手动初始化该背景是更好的做法吗?
-
你听说过动态资源吗?
标签: c# xaml uwp windows-runtime windows-10