Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

While the ListView on the right has the correct content due to the proper binding.  Further discussion on Stack Overflow.

 

<catel:UserControl x:Class="Catel.Examples.WPF.Commanding.Views.DocumentView"                   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"                   xmlns:sys="clr-namespace:System;assembly=mscorlib"    xmlns:catel="http://catel.codeplex.com">    <catel:UserControl.Resources>        <ResourceDictionary>            <!-- The Resource ListViewTitle will be found at run time -->            <sys:String x:Key="ListViewTitle">Items:</sys:String>            <!-- The Resource DataSourceGroup will be found but the binding will not work. -->            <CollectionViewSource x:Key="DataSourceGroup"                                                     Source="{Binding ProjectDataSources}" IsLiveSortingRequested="True" IsLiveGroupingRequested="True">                <CollectionViewSource.GroupDescriptions>                    <PropertyGroupDescription PropertyName="DataSourceType" />                </CollectionViewSource.GroupDescriptions>            </CollectionViewSource>        </ResourceDictionary>    </catel:UserControl.Resources>    <Grid>        <Grid.ColumnDefinitions>            <ColumnDefinition Width="*" />            <ColumnDefinition Width="5" />            <ColumnDefinition Width="*" />        </Grid.ColumnDefinitions>
        <ScrollViewer Grid.Column="0">            <StackPanel>                <StackPanel.Resources>
                </StackPanel.Resources>
                <Label Foreground="Blue" Margin="5,5,5,0" Content="{StaticResource ListViewTitle}"></Label>                <ListView Name="_datasourcelv1" ItemsSource="{Binding Source={StaticResource DataSourceGroup}}">                                        <ListView.View>                        <GridView>                            <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding ShortURI}" />                            <GridViewColumn Header="Type" Width="50" DisplayMemberBinding="{Binding DataSourceType}" />                        </GridView>                    </ListView.View>
                    <ListView.GroupStyle>                        <GroupStyle>                            <GroupStyle.HeaderTemplate>                                <DataTemplate>                                    <TextBlock Text="{Binding Name}"/>                                </DataTemplate>                            </GroupStyle.HeaderTemplate>                        </GroupStyle>                    </ListView.GroupStyle>                </ListView>            </StackPanel>        </ScrollViewer>        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />        <ScrollViewer Grid.Column="2">                        <StackPanel>                <StackPanel.Resources>                    <!-- The solution is to embed the resource inside the UserControl, this way the binding is within the runtime Visual Tree. -->                    <CollectionViewSource x:Key="DataSourceGroup2"                                                     Source="{Binding ProjectDataSources}" IsLiveSortingRequested="True" IsLiveGroupingRequested="True">                        <CollectionViewSource.GroupDescriptions>                            <PropertyGroupDescription PropertyName="DataSourceType" />                        </CollectionViewSource.GroupDescriptions>                    </CollectionViewSource>                </StackPanel.Resources>
                <Label Foreground="Blue" Margin="5,5,5,0" Content="{StaticResource ListViewTitle}"></Label>                <ListView Name="_datasourcelv2" ItemsSource="{Binding Source={StaticResource DataSourceGroup2}}">                                       <ListView.View>                        <GridView>                            <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding ShortURI}" />                            <GridViewColumn Header="Type" Width="50" DisplayMemberBinding="{Binding DataSourceType}" />                        </GridView>                    </ListView.View>
                    <ListView.GroupStyle>                        <GroupStyle>                            <GroupStyle.HeaderTemplate>                                <DataTemplate>                                    <TextBlock Text="{Binding Name}"/>                                </DataTemplate>                            </GroupStyle.HeaderTemplate>                        </GroupStyle>                    </ListView.GroupStyle>                </ListView>            </StackPanel>        </ScrollViewer>        <!--        <TabControl>            <TabItem Header="Plots" >                <TextBlock Text="IT WORKS!" />            </TabItem>            <TabItem Header="Aggregate"/>            <TabItem Header="Overlay">                <TextBlock Text="IT WORKS!" />            </TabItem>        </TabControl>        -->    </Grid>    <!--    <Border BorderThickness="1" BorderBrush="Gray">        <catel:StackGrid>            <catel:StackGrid.ColumnDefinitions>                <ColumnDefinition Width="Auto" />            </catel:StackGrid.ColumnDefinitions>
            <TextBlock Text="{Binding LastCommandExecutionDateTime, StringFormat='Last executed command time:  \{0:HH:mm:ss.fff\}'}" />        </catel:StackGrid>    </Border>    -->
</catel:UserControl>