6

Sometimes it seems that the Name and x:Name attributes are interchangeable. We can refer both Name and x:Name of a Framework element in XAML. But in case of x:key, WPF not providing "key" keyword like Name. Both Name and x:Name are for same purpose. Name would be available without typing x:. Why we are not able to use key like this in XAML?

4

2 回答 2

6

上实际上有一个Name属性FrameworkElemnet。该x:Name指令实际上将映射到Name属性,因为RuntimeNamePropertyAttribute它会导致解析器执行映射。这些实际上不是 100% 可互换的——它更像是一种单向映射,其中解析器将FrameworkElement.Name属性设置为与x:Name.

“Key”不存在这样的属性或属性,因此x:Key指令不能以相同的方式映射到属性。

于 2013-09-20T18:59:17.350 回答
0

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

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

于 2013-09-20T19:01:12.097 回答