Jos*_*osh 50
虽然它们用于类似目的,但它们不可互换.x:Key用于作为值添加到字典中的项目,通常用于添加到ResourceDictionary的样式和其他资源.设置x:Key属性时,实际上对象上没有相应的属性,甚至没有设置附加的依赖项属性.XAML处理器简单地使用它来知道调用Dictionary.Add时要使用的密钥.
x:名称有点复杂.它用于在某个父元素的范围内将关联名称应用于对象(通常是从FrameworkElement派生的对象).这个范围被称为"namescope",最简单的思考方式是想象一个包含一个的UserControl <TextBox x:Name="foo" />.
然后,您可以将UserControl的多个实例放在一个没有名称"foo"冲突的Window上,因为每个UserControl都有自己的名称范围.
值得注意的是,FrameworkElement定义了一个名为Name的依赖项属性,它等同于设置x:Name.
另一个区别是XAML设计器在代码隐藏中为具有x:Name的元素创建成员.对于使用x:Key添加到字典的对象,情况并非如此.
您可以在x:Name指令的MSDN文档的备注部分中找到有关这些的更多信息.
Kis*_*mar 22
x:Key仅在ResourceDictionary元素的范围内有效.x:Key用作ResourceDictionary中元素的主要标识符.
另一方面,x:Name在除ResourceDictionary之外的所有内容中都有效.x:密钥在ResourceDictionary范围之外无效.
| 归档时间: |
|
| 查看次数: |
17807 次 |
| 最近记录: |