为了保持组织和跟踪WPF/XAML项目中使用的所有资源名称/键,我想将资源字典中使用的所有键存储在一个充满常量的静态类中。我想我记得一些关于在代码中避免字符串文字的事情。
类似于:
<!-- itemtemplates.xaml -- a resource dictionary -->
<Style x:Key="{x:Static local:ResourceKeys.TaskItemItemTemplateKey}" ....>
....
</Style>// ResourceKeys.cs
internal static class ResourceKeys {
internal static object TaskItemItemTemplateKey {
get { return __some_readonly_unique_key_object; }
}
internal static object SomeReallyUglyGradientBrushKey {
get { return __some_other_unique_key; }
}
}考虑到我的项目可能会达到1000多个资源,这是一个好主意吗?
发布于 2012-08-04 22:55:10
如果你有这么多的资源,你可能想把它分成几个类别,按照类型、适用的领域或任何在你的上下文中可能有意义的东西。至于通常这样做:为什么不呢?例如,SystemColors也是这样做的。
发布于 2012-08-06 18:39:41
您的解决方案的问题在于,您必须为每个资源输入两次。对于1000个项目来说,这是相当多的工作...可以很容易地找到所有资源名称的列表(resource.Keys)。如果您使用命名约定,则可以在很小的成本内对所有这些内容进行排序。然后,如果您希望拥有颜色资源,则可以执行一些操作:在颜色where Application.resources.Keys (“rs.beginswith”)中选择rs。
https://stackoverflow.com/questions/11809510
复制相似问题