[TreeView][XmlDataProvider] Comment faire un reset
Bonjour,
J'ai créé un custom Menu dont les données proviennent d'un XmlDataProvider:
Code:
1 2 3 4 5 6
| private XmlDataProvider mDataProvider = new XmlDataProvider();
Binding itemsSourceBinding = new Binding();
itemsSourceBinding.Source = this.mDataProvider;
itemsSourceBinding.XPath = "*";
BindingOperations.SetBinding(this, MyMenu.ItemsSourceProperty, itemsSourceBinding); |
J'aimerais par la suite faire un reset des données pour pouvoir ensuite ajouter des items "manuellement", directement via la propriété Items.
J'ai essayé en utilisant XmlDocument:
Code:
1 2 3 4
| ICollectionView view = (ICollectionView)CollectionViewSource.GetDefaultView(this.ItemsSource);
XmlElement element = (XmlElement)view.CurrentItem;
XmlDocument doc = element.OwnerDocument;
doc.RemoveAll(); |
Egalement, en faisant un clear du binding:
Code:
BindingOperations.ClearBinding(this, MyMenu.ItemsSourceProperty);
Malheureusement, à chaque que j'essaye de modifier Items, j'ai une exception de type "Operation is not valid while ItemsSource is in use. Access and modify elements with ItemsControl.ItemsSource instead." :(
Est-ce qu'il existe une solution pour faire un reset "propre" ? Est-ce qu'il faut également faire un reset pour chaque élément du TreeView ? :?
Merci d'avance.