我有以下ListBox
:
<ListBox Name="listBox1">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Foreground="Red" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
以及填写它和设置分组的代码:
var Addresses = new Dictionary<string, Address>();
Addresses.Add("1", new Address() { State = "xxx", ... });
...
var view = CollectionViewSource.GetDefaultView(Addresses);
view.GroupDescriptions.Add(new PropertyGroupDescription("State"));
listBox1.ItemsSource = view;
我没有分组,只是项目本身。如果我使用List
代替Dictionary
来填充ListBox
,它可以正常工作,但在这种特殊情况下,我确实需要Dictionary
的附加功能(实际上是按键解决项目的能力)。
答案 0 :(得分:0)
谢谢,Sinatr,这引导我朝着正确的方向前进。它实际上很简单:
view.GroupDescriptions.Add(new PropertyGroupDescription("Value.State"));