【问题标题】:Best way to set WPF styles so they apply to all WPF components in a WinForms application设置 WPF 样式的最佳方法,以便它们适用于 WinForms 应用程序中的所有 WPF 组件
【发布时间】:2011-08-16 23:20:33
【问题描述】:

this question 关于设置文化之后,我对应用程序范围的样式也有类似的问题。

在纯 WPF 应用程序中,我可以在 App.xaml 中设置这些。

但是,我有一个正在逐步迁移到 WPF 的 WinForms 应用程序,并且包含多个 WPF 用户控件。有没有办法定义将应用于所有这些组件的应用程序范围的样式?

** 更新 **

在找到an exact duplicate后投票关闭。

从副本链接的博客文章讨论了几个选项,包括添加一个具有构建操作 = Page 的 App 类。

【问题讨论】:

标签: wpf styles


【解决方案1】:

不同的问题,相似的答案。通过从ElementHost 派生,您可以控制引入 WinForms 应用程序的所有元素的资源。在最简单的情况下,您可以将 App.xaml 作为普通资源字典,然后在设置 ElementHost 子项时,您可以将其资源设置为资源字典。如果子元素有自己的资源,那么您可以将子元素的资源设置为一个新的合并字典,该字典由其现有资源和代表应用程序资源的资源字典组成。

通过在元素添加到应用程序时动态修改它们的资源,您可以使用在所有其他基于元素的资源之后搜索的资源字典来模拟应用程序资源的效果。

【讨论】:

  • 谢谢,我会看看这种方法。这是否意味着 App.Xaml 字典将为应用程序中的每个 ElementHost 复制?
  • 不,合并字典不会复制它们合并的字典,所以只要您只加载一次 App.xaml 并将其保存在静态字段中,就只有一份。
猜你喜欢
  • 1970-01-01
  • 2021-02-21
  • 2012-10-23
  • 1970-01-01
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
相关资源
最近更新 更多