2

作为测试,我通过在 App.xaml (Application.Resources) 中添加新样式来更改少数元素的样式,并且在窗口中定义了样式。

现在,我想知道这是否有任何例外?这意味着在 WPF 应用程序中(假设我们有 3 个窗口 w1、w2、w3)我们可以将 app.xaml 中定义的样式仅应用于窗口 1 和 2,然后 3 从其本地 ResourceDictionary 块或任何其他来源?

4

1 回答 1

2

您可以使用两种方法:

  1. 将样式显式放在 Window1 和 Window2 中,而不是放在 Window3 中。这将导致样式仅存在于这些窗口中。合并资源字典在这里是一个很好的方法,因为您可以定义一次样式并根据需要“导入”它。
  2. 在 Window3 中放置一个新样式,该样式将覆盖App.xaml. 使用的样式是通过在 Xaml 中向上遍历树直到找到合适的样式来确定的。如果 Window3 有自己的样式,它将“覆盖”应用程序的 xaml 文件中的样式。
于 2012-10-29T18:01:56.440 回答