61

の違いは何ですか

TargetType="{x:Type Button}"

TargetType="Button"
4

1 に答える 1

57

System.TypeXAMLデザイナーは、文字列値 "Button"をに変換する組み込みの型コンバーターを適用しますButton。これにより、実際的な違いはないように見えます。

ただし、を使用して明示的なType指定を使用するように練習する必要がありx:Typeます。

明示的な指定が必要なのは、を使用しTypeて継承する場合、暗黙の文字列が機能しない場合です。StylesBasedOnType

例えば

これはうまくいくでしょう

 BasedOn="{StaticResource {x:Type Button}}"

しかし、これではありません...

 BasedOn="{StaticResource Button}"

ここでは、キー「ボタン」を使用してリソースを検索しようとします。ただし、x:Type仕様では、すでに明示的に指定Button Typeしているため、静的リソースの検索は、Styleを対象とするに対して行われますButton

于 2012-11-26T05:31:43.790 に答える