Hi,
Following is an xml file that serves as DataContext for DataGrid.
Can I have two CollectionViewSource classes bound to the same xml file, but data from different node levels in the hierarchy?
Please find sample xml below. I wish XAML highlighted in red explains my concern much better.
<Window x:Class="XMLCollectionViews.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<XmlDataProvider x:Key="MockList" XPath="/MockObjects/*" >
<x:XData >
<MockObjects xmlns="">
<Mock>
<MockObject Name="Louis" Type="TTTT" Number="1" />
<MockObject Name="Joseph" Type="TTTT" Number="2" />
<MockObject Name="Papineau" Type="ZZZZ" Number="3" />
</Mock>
<Dock>
<DockObject Name="Louis Aa" Type="TTTT" Number="1" />
<DockObject Name="Joseph Bb" Type="TTTT" Number="2" />
<DockObject Name="Papineau Cc" Type="ZZZZ" Number="3" />
</Dock>
</MockObjects>
</x:XData>
</XmlDataProvider>
<CollectionViewSource x:Key="Icollect"
Source="{Binding Source={StaticResource MockList},Path= /MockObjects/Mock/}" >
</CollectionViewSource>
<CollectionViewSource x:Key="Icollect1" Source="{Binding Source={StaticResource MockList},
Path= /MockObjects/Dock/}" >
</CollectionViewSource>
<!--Source="{StaticResource MockList}"-->
</Window.Resources>
<Grid x:Name="myGrid" DataContext="{Binding Source={StaticResource Icollect}}" Margin="0,0,0,-2">
<TextBox x:Name="txt3" DataContext ="{Binding}" HorizontalAlignment="Left" Margin="168,20,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="147"
TextChanged ="txt3_TextChanged" PreviewTextInput="txt3_PreviewTextInput" AcceptsReturn="True" Height="30">
</TextBox>
<Button Content="Button" HorizontalAlignment="Left" Margin="194,214,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click">
</Button>
<DataGrid x:Name="GnTbl" ItemsSource="{Binding Source={StaticResource Icollect}}" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="53,67,0,0" VerticalAlignment="Top"
Height="142" Width="231">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding</DataGridTextColumn">XPath=@Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Type" Binding="{Binding</DataGridTextColumn">XPath=@Type}"></DataGridTextColumn>
<DataGridTextColumn Header="Number" Binding="{Binding</DataGridTextColumn">XPath=@Number}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<DataGrid x:Name="GnTbl" ItemsSource="{Binding Source={StaticResource Icollect1}}" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="53,67,0,0" VerticalAlignment="Top" Height="142"
Width="231">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{BindingXPath=@Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Type" Binding="{BindingXPath=@Type}"></DataGridTextColumn>
<DataGridTextColumn Header="Number" Binding="{BindingXPath=@Number}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
Help is appreciated.
Thank you.
Harika