0

我有一个绑定到 XML 文件的 Listview。可以使用文本框更改 XML 文件不同节点的值。如果我更改直接绑定到列表视图中元素的元素的值,则一切正常。如果我根据其他值更改 XML 文件中的值,然后我必须刷新 XML 数据提供程序以查看列表框中的更改,问题就开始了。如果我这样做了,那么我之前的 SelectedItem 就会丢失。我也尝试保存 SelectedItem 并在刷新后重新加载它,但它不起作用。

是否有另一种方法来刷新 XML 数据提供程序?还是有更好的方法来刷新 ListView?

在 Window1.xaml 中:
...

       <Grid.DataContext>
            <XmlDataProvider x:Name="VoltageData" Source="Voltages.xml" XPath="Voltages/Voltage" />
       </Grid.DataContext>


...
在 Window1.xaml.cs 中:
...

        xmlDoc.Save(VoltageData.Source.LocalPath);
        VoltageData.Refresh();

...

4

1 回答 1

0
  1. 在刷新之前获取SelectedValue列表视图的选定项目(我更喜欢)。
  2. 刷新后将相同的选定项(或SelectedValue)设置为 ListView。

这样它将保持选择。如果所选项目(或值)是使用 WPF 绑定绑定的,则更新表示绑定源路径的对象 \ 属性。

于 2012-01-18T05:25:06.850 回答