x:样式中的Key和TargetType

Man*_*uel 11 silverlight wpf xaml targettype

使用此声明是否有任何区别(或优势):

Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}"
Run Code Online (Sandbox Code Playgroud)

省略x:Key属性?

我认为WPF x:Type在引擎盖下指定了相同的关键.

Ric*_*key 27

MSDN文档Style.TargetType证实了您的怀疑:

将TargetType属性设置为TextBlock类型而不设置x:Key隐式地将x:Key设置为{x:Type TextBlock}.这也意味着如果您为上面的Style赋予除{x:Type TextBlock}以外的任何内容的x:Key值,则Style将不会自动应用于所有TextBlock元素.相反,您需要显式地将样式应用于TextBlock元素.

如果样式的资源字典键是类型,则该样式将用作该类型的所有未明确指定样式的实例的默认样式.由于通常提供目标类型,因此省略键的语法只是定义默认样式的快捷方式.

  • @Manuel:如果这个答案对你有帮助,你为什么不接受**而不是**! (10认同)