Wpf 如何刷新数据绑定树视图?
我在TabControl中有两个TreeView,数据绑定到xmlDataProvider。如果将节点添加到Xml并保存它: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
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;刚刚用您应该添加的代码片段编辑了我的文章(如果尚未添加):