У меня есть ObservableCollection, которая связана с Master-Detail ListView.Подробный вид должен быть сгруппирован по конкретному члену ObservableCollection.Пока все работает, как и ожидалось, но при выборе другого элемента из Master-View и Detal-View обновляется, он больше не группируется.Что я делаю не так?
Главное представление XAML:
<StackPanel>
<ListView x:Name="ListViewMaster" Height="100" Width="120" ItemsSource="{Binding ListResult}" IsSynchronizedWithCurrentItem="True" SelectionChanged="ListViewMaster_SelectionChanged">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" Width="70">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ID}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
Подробное представление XAML:
<ListView Margin="10" x:Name="ListViewDetail" ItemsSource="{Binding ElementName=ListViewMaster, Path=SelectedItem.ListResultDetail}" >
<ListView.View>
<GridView>
<GridViewColumn Header="name" Width="150">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding name}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Var" Width="150">
<GridViewColumn.CellTemplate>
<DataTemplate>
<local:MyFormattedTextControl Text="{Binding var}" PartFlags="{Binding colorCode}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name, Converter={StaticResource EnumarableToDescriptionConverter}}" FontWeight="Bold" FontSize="14"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
Код позади конструктора:
public MyComparator() {
_myViewModel = BPTViewModel.Instance;
this.DataContext = _myViewModel;
InitializeComponent();
CollectionView view1 = (CollectionView)CollectionViewSource.GetDefaultView(ListViewDetail.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("Type");
view1.GroupDescriptions.Add(groupDescription);
}