“无法注册重复名称”WPF中的Namescope错误

时间:2011-01-14 07:33:14

标签: wpf

我创建了一个TabItem控件,其中包含特定结构(DataGrids Buttons等)。 TabItem中的某些控件具有名称。整个设置是在代码隐藏中创建的。每当创建新选项卡时,我都会克隆此TabItem。问题是控件的名称是使用namescope注册的,当我克隆这些控件时,它们无法重新注册。

我不确定我的选择是什么,但是

  1. 我可以为每个TabItem创建一个新的名称范围吗?这是可取的吗?如果是这样,我怎样才能找到特定的名称范围?

  2. 我可以使用父控件注册控件名称而不用担心更改名称范围吗?

  3. 我的解决方案是什么?

    感谢任何帮助

2 个答案:

答案 0 :(得分:2)

在不知道你正在做什么的情况下,很难提出建议,但这里有一些想法......

您使用这些名称是为了什么?您可以使用控件的其他一些属性,例如标签

创建控件然后克隆它们听起来有点讨厌!为什么不创建包含所有控件的用户控件?您仍然可以在用户控件中的代码隐藏中创建它们。这将解决您的名称范围问题,并提供更好的代码结构!

答案 1 :(得分:0)

您可以使用一种方法

public void UnregisterName(string name);