Вопрос, возможно, потребуется отредактировать, поскольку я не думаю, что обязательно знаю лучший способ сделать это.
Текущая конфигурация моего пользовательского элемента управления WPF. У меня есть XmlDataProvider, содержащий некоторые статические XML-элементы, которые я использую для заполнения элемента управления TreeView. В настоящее время я использую HierarchicalDataTemplate для привязки к элементу управления TreeViewItem
<HierarchicalDataTemplate x:Key="SiteTemplate" ItemsSource="{Binding XPath=pci}">
<TextBlock Text="{Binding XPath=@Name}"/>
</HierarchicalDataTemplate>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True"/>
</Style>
TreeView
<TreeView ItemsSource="{Binding Source={StaticResource SharePointSites}}"
ItemTemplate="{StaticResource SiteTemplate}"
. Я хотел бы заменить текущий статический ресурс данными, которые загружаются из XML-файла во время выполнения. Кроме того, я хочу, чтобы пользователь мог изменять узлы древовидной структуры во время выполнения и записывать эти значения обратно в тот же файл xml. Я читал об использовании шаблона MVVM и создании класса IObservable. Может ли кто-нибудь указать мне правильное направление?
Изменить: Возможно, я задал этот вопрос неоптимально. Может ли кто-нибудь порекомендовать улучшения или внести изменения, чтобы улучшить качество вопроса?