Load XmlDocument to XmlDataProvider : XmlDataProvider « Windows Presentation Foundation « C# / C Sharp






Load XmlDocument to XmlDataProvider

Load XmlDocument to XmlDataProvider
  

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication1"
    Title="Window1" Height="400" Width="600" Loaded="Window_Loaded" Name="window">
    <Window.Resources>
        <XmlDataProvider x:Key="xaml" />
    </Window.Resources>
    <StackPanel>
        <TreeView Name="treeView1" ItemsSource="{Binding Source={StaticResource xaml}, XPath=*}">
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding XPath=*}">
                    <TextBlock Text="{Binding Path=Name}" />
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>
        <TextBox Text="{Binding ElementName=treeView1, Path=SelectedItem.OuterXml, Mode=OneWay}" TextWrapping="Wrap" />
    </StackPanel>
</Window>
//File:Window.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Windows.Markup;
using System.Xml;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string xaml = XamlWriter.Save(this);

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xaml);

            XmlDataProvider provider = (XmlDataProvider)FindResource("xaml");
            provider.Document = doc;
            provider.Refresh();
        }
    }
}

   
    
  








Related examples in the same category

1.HierarchicalDataTemplate and XmlDataProviderHierarchicalDataTemplate and XmlDataProvider
2.Xmldata island.xamlXmldata island.xaml
3.Hierarchical Xml TemplatesHierarchical Xml Templates
4.Using XmlDataProviderUsing XmlDataProvider
5.XmlDataProvider and static Xml resourceXmlDataProvider and static Xml resource
6.Retrieve data from XmlDataProvider with XPathRetrieve data from XmlDataProvider with XPath
7.XmlDataProvider and XmlNamespaceMappingXmlDataProvider and XmlNamespaceMapping
8.XmlDataProvider and ItemsControlXmlDataProvider and ItemsControl
9.Hyperlink and xpath filter for XmlDataProviderHyperlink and xpath filter for XmlDataProvider
10.Get XmlElement from Bounded viewGet XmlElement from Bounded view