Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

Can two CollectionViewSource Classes bound to the same XML file

$
0
0

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


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>