の違いは何ですか
TargetType="{x:Type Button}"
と
TargetType="Button"
System.Type
XAMLデザイナーは、文字列値 "Button"をに変換する組み込みの型コンバーターを適用しますButton
。これにより、実際的な違いはないように見えます。
ただし、を使用して明示的なType指定を使用するように練習する必要がありx:Type
ます。
明示的な指定が必要なのは、を使用しType
て継承する場合、暗黙の文字列が機能しない場合です。Styles
BasedOn
Type
例えば
これはうまくいくでしょう
BasedOn="{StaticResource {x:Type Button}}"
しかし、これではありません...
BasedOn="{StaticResource Button}"
ここでは、キー「ボタン」を使用してリソースを検索しようとします。ただし、x:Type
仕様では、すでに明示的に指定Button
Type
しているため、静的リソースの検索は、Style
を対象とするに対して行われますButton
。