Binding 从数据绑定列表框添加/删除项目

Binding 从数据绑定列表框添加/删除项目,binding,Binding,我最近将一个xml文件数据绑定到一个列表框。现在我想写一些函数来添加或删除列表框中的项目。尝试listbox.items.add或listbox.items.insert时出现以下错误: 改为使用ItemsControl.ItemsSource访问和修改元素 我在谷歌上搜索了这个,它说要做“模型”的工作 但是我不知道怎么做。那么,我如何在数据源中添加或删除项目呢?我讨厌在原始文件中添加xml元素和值,然后将文件更新为数据源…将xml加载到数据集中,然后操作数据集并重新绑定怎么样 尝试以下操作,而

我最近将一个xml文件数据绑定到一个列表框。现在我想写一些函数来添加或删除列表框中的项目。尝试listbox.items.add或listbox.items.insert时出现以下错误:

改为使用ItemsControl.ItemsSource访问和修改元素

我在谷歌上搜索了这个,它说要做“模型”的工作


但是我不知道怎么做。那么,我如何在数据源中添加或删除项目呢?我讨厌在原始文件中添加xml元素和值,然后将文件更新为数据源…

将xml加载到数据集中,然后操作数据集并重新绑定怎么样

尝试以下操作,而不是使用XML文件并将其绑定到列表框:()

让我们假设XML相当简单。要向数据集添加拖航,您需要执行以下操作:()

下面是一个XML示例,可以与上述内容一起使用:

<Data>
  <Customers>
    <Customer>
      <CustomerID>123</CustomerID>
      <CompanyName>Name</CompanyName>
    </Customer>
  </Customers>
</Data>

123
名称

我没有编译或尝试运行任何这些,但您应该了解总体思路并使其适应您的代码。

将XML加载到数据集中,然后操作数据集并重新绑定如何

尝试以下操作,而不是使用XML文件并将其绑定到列表框:()

让我们假设XML相当简单。要向数据集添加拖航,您需要执行以下操作:()

下面是一个XML示例,可以与上述内容一起使用:

<Data>
  <Customers>
    <Customer>
      <CustomerID>123</CustomerID>
      <CompanyName>Name</CompanyName>
    </Customer>
  </Customers>
</Data>

123
名称

我还没有编译或尝试运行这些,但您应该了解总体思路并使其适应您的代码。

您能给我举个例子吗?数据源和数据集之间有什么区别?当前,我绑定了一个文件,然后为listitems设置了绑定,这样框就满了。数据源是绑定到控件的数据源。在本例中,您使用xml文件作为数据源,并将该数据绑定到列表框。datasource是一个表示数据表的类,如果您绑定到一个listbox,我想您的XML也会表示这个数据表。我会用一个例子来更新我的帖子。这是否仍然适用于双向数据绑定,以便我可以更新源文件?哦,当你说你不喜欢更新源文件时,我误解了。我以为您的意思是不想让更改更新源XML。默认情况下,默认XML数据源不允许更新XML文档。您必须实现自己的自定义更新来编辑XML文档。好的,但是现在我已经设置了双向绑定,并设置了propertychanged事件来保存原始文档。因此,对于添加/删除行,我可以更新数据源还是必须直接在源xml文件中进行编辑?您能给我举个例子吗?数据源和数据集之间有什么区别?当前,我绑定了一个文件,然后为listitems设置了绑定,这样框就满了。数据源是绑定到控件的数据源。在本例中,您使用xml文件作为数据源,并将该数据绑定到列表框。datasource是一个表示数据表的类,如果您绑定到一个listbox,我想您的XML也会表示这个数据表。我会用一个例子来更新我的帖子。这是否仍然适用于双向数据绑定,以便我可以更新源文件?哦,当你说你不喜欢更新源文件时,我误解了。我以为您的意思是不想让更改更新源XML。默认情况下,默认XML数据源不允许更新XML文档。您必须实现自己的自定义更新来编辑XML文档。好的,但是现在我已经设置了双向绑定,并设置了propertychanged事件来保存原始文档。因此,对于添加/删除行,我可以更新数据源还是必须直接在源xml文件中进行编辑?
<Data>
  <Customers>
    <Customer>
      <CustomerID>123</CustomerID>
      <CompanyName>Name</CompanyName>
    </Customer>
  </Customers>
</Data>