web-dev-qa-db-ja.com

TargetType = "{x:TypeButton}"とTargetType = "Button"の違いは何ですか?

の違いは何ですか

TargetType="{x:Type Button}"

そして

TargetType="Button"
52
DEN

XAMLデザイナーは、文字列値「Button」をButtonであるSystem.Typeに変換する組み込み型コンバーターを適用するため、違いはないと思います。

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

明示的なType指定が必要なもう1つの場所は、Stylesを使用してBasedOnを継承する場合、暗黙の文字列Typeが機能しないことです。

例えば.

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

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

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

 BasedOn="{StaticResource Button}"

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

43
WPF-it