【问题标题】:x:key keyword in WPFx:WPF中的key关键字
【发布时间】:2013-09-20 18:54:11
【问题描述】:

有时,Namex:Name 属性似乎可以互换。我们可以在 XAML 中引用框架元素的 Namex:Name。但在 x:key 的情况下,WPF 不提供 "key" 关键字,如 NameNamex:Name 的用途相同。 Name 无需输入 x: 即可使用。为什么我们不能在 XAML 中像这样使用 key

【问题讨论】:

    标签: wpf xaml


    【解决方案1】:

    实际上有一个Name property on FrameworkElemnetx:Name Directive 实际上将映射到 Name 属性,因为 RuntimeNamePropertyAttribute 导致解析器执行映射。这些实际上不是 100% 可互换的 - 它更多的是一种单向映射,其中解析器设置 FrameworkElement.Name 属性以匹配 x:Name 中指定的值。

    “键”不存在此类属性或属性,因此x:Key 指令无法以相同方式映射到属性。

    【讨论】:

      【解决方案2】:

      如果您谈论 Xaml,那么只有 x:Name。 WPF 框架可以使用类上的RuntimeNamePropertyAttribute 将其属性之一映射到XAML 的x:Name,该类将属性之一分配给Xaml 的x:Name。所以设置x:Name等价于设置Name

      x:Key 另一方面是Xaml 资源的关键。用于唯一标识ResourceDictionary中的资源。

      【讨论】:

        猜你喜欢
        • 2021-05-14
        • 2016-10-14
        • 2010-10-29
        • 2017-06-06
        • 2021-02-14
        • 1970-01-01
        相关资源
        最近更新 更多