我正在关注本教程: http://www.c-sharpcorner.com/uploadfile/dpatra/listbox-group-header-expand-and-collapse-in-wpf/
我试图用扩展器设计我的列表框。
由于某些原因,我得到了这样的东西:
Title (expander)
Tiltle(expander)
Data
Data
Data
我不知道导致双重分组的原因,我需要一些帮助。
这是我的代码:
<ListBox Grid.ColumnSpan="3" Grid.Row="3"
Name="lbInterfaces" Background="Transparent" ItemsSource="{Binding InterfacesView }" ItemTemplate="{StaticResource InterfacesDataTemplate}" BorderBrush="Transparent">
<ListBox.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource ContainerStyle}"/>
</ListBox.GroupStyle>
</ListBox>
<Style x:Key="ContainerStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander Header="{Binding Name}" IsExpanded="False">
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataTemplate x:Key="InterfacesDataTemplate"
DataType="ca:Interface">
<Grid>
<TextBlock Text="{Binding Path=Name}" MouseLeftButtonDown="interface_mouseDown"/>
</Grid>
</DataTemplate>
在视图模型中我有:
InterfacesView = CollectionViewSource.GetDefaultView(Interfaces);
InterfacesView.GroupDescriptions.Add(new PropertyGroupDescription("Kind"));
InterfacesView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
Kind是&#34;界面内的一个属性&#34; CLSS
答案 0 :(得分:1)
将代码更改为:
InterfacesView view = CollectionViewSource.GetDefaultView(Interfaces);
view.GroupDescriptions.Add(new PropertyGroupDescription("Name"));
view.SortDescriptions.Add(new SortDescription("Name",ListSortDirection.Ascending));