WPF - 无法对元素“TextBox”设置 Name 特性值“TB2”

版权声明:本文为博主原创文章,转载请保留原文链接。联系邮箱:[email protected] https://blog.csdn.net/Liwuqingxin/article/details/82875935

ERROR:无法对元素“TextBox”设置 Name 特性值“TB2”。“TextBox”在元素“UserControl1”的范围内,在另一范围内定义它时,已注册了名称。

原因:UserControl内部的元素无法在外部命名。这里的UserContrl,泛指继承自其他控件,并且带有xaml文件的自定义控件,无论继承自何控件。也就是说,出现在自定义控件xaml中的元素,无法在外部命名。

引申BUG:这类型的元素绑定到外部控件时会失效(即编译运行没问题,仅不起作用)。

解决方案:不要使用自定义控件(无论继承什么控件),直接新建Class,直接继承想要继承的控件,不带xaml,xaml中结构在cs文件中用代码实现。注意两者的区别:自定义控件默认构造函数有InitialComponent()方法,而继承控件则没有(直接使用父类的默认构造函数中的该方法)。

猜你喜欢

转载自blog.csdn.net/Liwuqingxin/article/details/82875935