将样式应用于WPF项目的窗​​口

时间:2012-10-29 17:59:17

标签: wpf xaml

作为测试我通过在App.xaml(Application.Resources)中添加一个新样式来改变几个元素的样式,并且它正在编写一个在窗口中定义的样式。

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

1 个答案:

答案 0 :(得分:2)

您可以使用两种方法:

  1. 将样式显式放在Window1和Window2中,而不是放在Window3中。这将导致样式仅存在于这些窗口中。 Merged Resource Dictionary是一种很好的方法,因为您可以定义一次样式,然后根据需要“导入”它。
  2. 在Window3中添加一个新样式,覆盖App.xaml中的样式。使用的样式是通过在Xaml中向上走树来确定的,直到找到合适的样式。如果Window3拥有自己的风格,它将“覆盖”应用程序的xaml文件中的样式。