代码之家  ›  专栏  ›  技术社区  ›  Chris Nicol

TargetType=“controlType”和TargetType=“{x:Type controlType}”之间的差异

  •  24
  • Chris Nicol  · 技术社区  · 17 年前

    在WPF中,您可以设置 TargetType 设置为类型的名称,也可以将其设置为 {x:Type nameOfType} .

    有人知道有什么区别吗?

    3 回复  |  直到 14 年前
        1
  •  20
  •   Tim Cooper    15 年前

    没有什么因为属性类型是 Type ,XAML解析器知道尝试将您提供的任何内容转换为 类型 . 在其他场景中,属性类型可能不那么具体(例如。 Object String .

        2
  •  15
  •   StayOnTarget Charlie Flowers    6 年前

    x:Type 不一样 从…起 TypeName-as-String .

    根据我的经验-

    x:类型 TypeName作为字符串 .

    Importance of specifying AncestorType with x:Type in RelativeSourceBinding

    除此之外,WPF推断类型的方式也存在差异。对于 x:类型 TypeExtension 用于,而用于 TypeName作为字符串 FrameworkElementFactory

    根据MSDN- x:Type Markup Extension

    支持Typename作为字符串的类型属性

    WPF支持能够指定某些值的技术 类型的属性,而不需要 x:类型 标记扩展 ControlTemplate.TargetType 和 Style.TargetType 类型转换器或标记扩展。相反,这是一个 延迟行为通过 框架元件厂 .

        3
  •  0
  •   Mark Z.    8 年前

    推荐文章