Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何刷新数据绑定树视图?_Wpf_Xml_Treeview_Refresh_Data Binding - Fatal编程技术网

Wpf 如何刷新数据绑定树视图?

Wpf 如何刷新数据绑定树视图?,wpf,xml,treeview,refresh,data-binding,Wpf,Xml,Treeview,Refresh,Data Binding,我在TabControl中有两个TreeView,数据绑定到xmlDataProvider。如果将节点添加到Xml并保存它: xmlDataProvider.Document.Save(fullPathToXml); xmlDataProvider.Refresh(); 只有不在“打开”选项卡中的树视图才会刷新。这两个TreeView的外观如下: <TreeView Name="DIFFERENT_NAMES" ItemsSource="{Binding Source={StaticRe

我在TabControl中有两个TreeView,数据绑定到xmlDataProvider。如果将节点添加到Xml并保存它:

xmlDataProvider.Document.Save(fullPathToXml);
xmlDataProvider.Refresh();
只有不在“打开”选项卡中的树视图才会刷新。这两个TreeView的外观如下:

<TreeView Name="DIFFERENT_NAMES" ItemsSource="{Binding Source={StaticResource dataxml}, XPath=./*}"/>

如果ItemsSource绑定到实现OnPropertyChanged的属性,则可以在XAML中向绑定添加属性UpdateSourceTracger=PropertyChanges。 因此,每次调用OnPropertyChanged时,控件都会更新自身

编辑

我假设您的ViewModel已经实现了OnPropertyChanged 因此,在申报财产时,您只需:

private XmlDataProvider _xmlDataProvider;
public XmlDataProvider XmlDataProvider
        {
            get { return xmlDataProvider; }
            set 
            { 
                xmlDataProvider = value;
                OnPropertyChanged("XmlDataProvider");
            }
        }

在构造函数中初始化XmlDataProvider,然后,每次修改对象时,它都会在此处指定的属性上调用OnPropertyChanged方法XmlDataProvider,每次调用OnPropertyChanged方法,绑定到此对象的视图将自动刷新:

我已将属性添加到树视图中,但没有任何更改。如何实现对ItemSource的OnPropertyChange?我的来源:XmlDataProvider XmlDataProvider=新的XmlDataProvider;刚刚用您应该添加的代码片段编辑了我的文章(如果尚未添加):