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?
问问题
707 次
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:Name
Xaml 的类。所以设置x:Name
等价于设置Name
。
x:Key
另一方面是Xaml
资源的关键。它用于唯一标识ResourceDictionary
.
于 2013-09-20T19:01:12.097 回答