C# 在xml解析期间选中checkbox.name,这样我就不会重复复选框

C# 在xml解析期间选中checkbox.name,这样我就不会重复复选框,c#,wpf,xml-parsing,C#,Wpf,Xml Parsing,我需要解析一个xml文档,其中包含许多元素及其属性值,以创建新的复选框,并将属性值作为复选框的名称。在我的应用程序中,我已经将其中一些属性值硬编码到复选框中。因此,我的问题是,有没有办法让我检查这些文件是否已经创建?如果是,我什么也不做。如果否,我将创建新复选框 以下是要分析的XML文档的示例: <target name="number1" if="nameofcheckbox1"> ... </target> <target name="number2" if="

我需要解析一个xml文档,其中包含许多元素及其属性值,以创建新的复选框,并将属性值作为复选框的名称。在我的应用程序中,我已经将其中一些属性值硬编码到复选框中。因此,我的问题是,有没有办法让我检查这些文件是否已经创建?如果是,我什么也不做。如果否,我将创建新复选框

以下是要分析的XML文档的示例:

<target name="number1" if="nameofcheckbox1">
...
</target>
<target name="number2" if="nameofcheckbox2">
...
</target>

...
...

在上面的示例中,我已经硬编码了一个复选框并将其命名为:nameofcheckbox 1checkbox。然后我将解析这个文档,并为“number2”创建新的复选框。它将被称为CHECKBOX2CHECKBOX。因此,我需要一些东西来确保我不会复制另一个名为NameOfCheckBox 1CheckBox的复选框。非常感谢

嗨,华尔街,我有50多个复选框要核对……有很多硬代码需要核对。因此,每次创建一个新的复选框时,我都必须再次硬编码,以便下次它将被选中。有更好的方法吗?你说你必须硬编码是什么意思?我认为您是从一些xml数据动态创建复选框的?在创建复选框之前,请使用提供的ControlExists函数检查复选框是否存在。由于我们不知道您要做什么,因此很难提出更好的解决方案。如果需要显示50个复选框,我只需要一个ItemsControl,其中一个复选框作为它的itemtemplate,数据将ItemsControl的ItemsSource绑定到xml数据。如果您的xml数据不能直接绑定(可能需要一些数据清理),我会使用VM,加载xml,清理数据,并填充一些可以轻松绑定的集合属性。
bool checkbox1Exists = ControlExists("nameofcheckbox1");
bool checkbox2Exists = ControlExists("nameofcheckbox2");

private bool ControlExists(string name)
{
    return FindName(name) != null;
}