TargetType =“{x:Type Button}”和TargetType =“Button”有什么区别?
有什么区别
TargetType="{x:Type Button}"
和
TargetType="Button"
我想没有什么区别,因为XAMLdevise器应用内置types转换器,将string值“Button”转换为Buttontypes的System.Type
。
但是,应该练习使用x:Type
使用显式的Type规范。
另一个需要显式Type
地方是当我们使用BasedOn
inheritanceStyles
时,隐含的stringType
不会工作。
例如
这将工作
BasedOn="{StaticResource {x:Type Button}}"
但不是这个…
BasedOn="{StaticResource Button}"
因为在这里它会尝试用键“button”来search资源。 但是在x:Type
规范中,因为我们已经指定了明确的Button
Type
,所以静态资源的search将会发生在针对Button
的Style
中。