我在TabControl中有两个TreeView,数据绑定到xmlDataProvider。如果我将节点添加到我的Xml并保存它:
xmlDataProvider.Document.Save(fullPathToXml);
xmlDataProvider.Refresh();
只有不在打开Tab中的TreeView刷新。两个TreeView都是这样的:
<TreeView Name="DIFFERENT_NAMES" ItemsSource="{Binding Source={StaticResource dataxml}, XPath=./*}"/>
答案 0 :(得分:0)
如果您的ItemsSource绑定到实现OnPropertyChanged的属性,则可以将属性“UpdateSourceTrigger = PropertyChanges”添加到XAML中的绑定。 因此,每次调用OnPropertyChanged时控件都会自动更新
修改强>
我假设你的ViewModel已经实现了OnPropertyChanged 因此,当您申报财产时,您所要做的就是:
private XmlDataProvider _xmlDataProvider;
public XmlDataProvider XmlDataProvider
{
get { return xmlDataProvider; }
set
{
xmlDataProvider = value;
OnPropertyChanged("XmlDataProvider");
}
}
在构造函数中初始化XmlDataProvider,然后,每次修改对象时,它将在您指定的属性(此处为“XmlDataProvider”)上调用方法OnPropertyChanged,并且每次调用OnPropertyChanged时,您的视图都绑定到此对象将自动刷新:)