gpt4 book ai didi

wpf - x :Key and x:Name in WPF? 和有什么区别

转载 作者:行者123 更新时间:2023-12-03 06:00:12 28 4
gpt4 key购买 nike

WPF 中的 x:Keyx:Name 有什么区别?

我不确定真正的区别是什么。

最佳答案

虽然它们的用途相似,但它们不可互换。 x:Key 用于作为值添加到字典的项目,最常用于添加到 ResourceDictionary 的样式和其他资源。当设置 x:Key 属性时,实际上对象上没有相应的属性,甚至没有设置附加的依赖属性。 XAML 处理器仅使用它来了解调用 Dictionary.Add 时使用哪个键。

x:名称有点复杂。它用于将关联名称应用于某个父元素范围内的对象(通常是从 FrameworkElement 派生的对象)。这个范围称为“名称范围”,最简单的思考方式是想象一个包含 <TextBox x:Name="foo" /> 的 UserControl。 .

然后,您可以将 UserControl 的多个实例放置到一个窗口上,而不会发生名称“foo”冲突,因为每个 UserControl 都有自己的名称范围。

还值得注意的是,FrameworkElement 定义了一个名为 Name 的依赖属性,它相当于设置 x:Name。

另一个区别是 XAML 设计器在代码隐藏中为具有 x:Name 的元素创建成员。对于使用 x:Key 添加到字典的对象来说,情况并非如此。

您可以在 the x:Name directive 的 MSDN 文档的备注部分找到有关这些的更多信息。 .

关于wpf - x :Key and x:Name in WPF? 和有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4425571/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com