2

テストとして、App.xaml(Application.Resources)に新しいスタイルを追加していくつかの要素のスタイルを変更しましたが、ウィンドウで定義されたスタイルを上書きしています。

さて、これに例外はないのでしょうか?つまり、WPFアプリケーション(3つのウィンドウw1、w2、w3があると仮定します)では、app.xamlで定義されたスタイルをウィンドウ1と2にのみ適用し、3はローカルのResourceDictionaryブロックまたは他のソース?

4

1 に答える 1

2

使用できるアプローチは2つあります。

  1. Window3ではなくWindow1とWindow2にスタイルを明示的に配置します。これにより、スタイルはそれらのウィンドウ内にのみ存在します。マージされたリソースディクショナリは、スタイルを一度定義して、必要に応じて「インポート」できるため、ここでは優れたアプローチです。
  2. のスタイルを上書きする新しいスタイルをWindow3に配置しますApp.xaml。使用されるスタイルは、適切なスタイルが見つかるまでXamlでツリーを上に移動することによって決定されます。Window3に独自のスタイルがある場合、アプリケーションのxamlファイルのスタイルを「オーバーライド」します。
于 2012-10-29T18:01:56.440 に答える