为了保持组织并跟踪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多个资源。
答案 0 :(得分:1)
如果您有这么多资源,您可能希望按类型,适用区域或在您的上下文中可能有意义的任何类别将其拆分。至于这样做:为什么不呢?例如SystemColors
也是如此。
答案 1 :(得分:0)
您的解决方案的问题是您必须输入两次资源。对于1000个项目来说,这是相当多的工作......可以轻松找到所有资源名称的列表(resource.Keys)。如果您使用命名约定,您可以在几乎没有成本的情况下订购一些订单。然后你可以执行一些操作,如果你想拥有颜色资源:在Application.resources.Keys中选择rs,其中rs.beginswith(“Color”)。