Mega Code Archive

 
Categories / VB.Net / WPF
 

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.vb Imports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Navigation Imports System.Windows.Shapes Imports System.IO Imports System.Windows.Markup Imports System.Xml Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)       Dim xaml As String = XamlWriter.Save(Me)       Dim doc As New XmlDocument()       doc.LoadXml(xaml)       Dim provider As XmlDataProvider = DirectCast(FindResource("xaml"), XmlDataProvider)       provider.Document = doc       provider.Refresh()     End Sub   End Class End Namespace