Как правильно заменить статический XmlDataProvider в WPF Usercontrol на динамический набор данных?

Вопрос, возможно, потребуется отредактировать, поскольку я не думаю, что обязательно знаю лучший способ сделать это.

Текущая конфигурация моего пользовательского элемента управления 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. Может ли кто-нибудь указать мне правильное направление?

Изменить: Возможно, я задал этот вопрос неоптимально. Может ли кто-нибудь порекомендовать улучшения или внести изменения, чтобы улучшить качество вопроса?

5
задан Anonymous Type 19 April 2011 в 00:28
поделиться