可以通过更改name属性来创建表单控件的别名

本文关键字:表单 控件 别名 创建 name 属性 可以通过 | 更新日期: 2023-09-27 17:50:30

假设我有一个名称为myComboBox的组合框。

现在,如果我声明另一个ComboBox引用,比如:

ComboBox curBox=new ComboBox();
curBox.Name = curCombo; // curCombo is a string whose value is myComboBox.

curBox作为别名,即直接引用myComboBox

可以通过更改name属性来创建表单控件的别名

WPF控件的name属性仅用于填充XAML标记中的name属性。它应该是唯一的,因为它提供了对控件的(高级)引用(您可以通过名称找到控件)。

在您的示例中,myComboBox和curBox是ComboBox的两个独立实例,它们将简单地共享相同的名称。这是不允许的,因为名称在名称范围内应该是唯一的。

Rewinder是对的,只是想补充:在代码中设置curBox.Name不会自动将此控件添加到当前命名范围。所以,设置它应该不是问题。要将其添加到名称范围,您可以使用RegisterName,如果"提供的名称将导致重复的名称注册",它将抛出ArgumentException