对于我项目中的每个UserControl。 我添加到XAML以合并字典:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
必须有可用的自定义样式和颜色。
告诉我这样做是否正确? 它不会降低性能吗?
答案 0 :(得分:1)
通过遍历逻辑树来解析资源。来自MSDN -
- 查找过程检查由设置属性的元素定义的资源字典中的请求密钥。
- 然后,查找过程向上遍历逻辑树,到父元素及其资源字典。这一直持续到 到达了根元素。
- 接下来,检查应用程序资源。应用程序资源是由资源字典中定义的资源 WPF应用程序的应用程序对象。
醇>
如上面第3点所述,资源查找最终将在应用程序资源中进行搜索。因此,您不需要在所有UserControl中添加相同的资源。您可以简单地将它们放在每个UserControl可以访问资源的位置。
简而言之,App.xaml是放置所有用户控件所需的合并资源字典的正确位置。