您好,登錄后才能下訂單哦!
ListBox 控件的項可以通過設置GroupStyle屬性來進行分組排序。首先需要定義一個GroupStyle對象,并設置其屬性為GroupStyle.ContainerStyle和GroupStyle.HeaderTemplate。
例如,可以創建一個分組樣式為按照字母順序分組的ListBox控件:
<ListBox ItemsSource="{Binding Items}">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True">
<Expander.Header>
<TextBlock Text="{Binding Name}" />
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" FontWeight="Bold" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
</ListBox>
在ViewModel中需要為每個項添加Group屬性,以便根據該屬性進行分組排序。例如:
public class Item
{
public string Name { get; set; }
public string Group { get; set; }
}
public class MainViewModel
{
public ObservableCollection<Item> Items { get; set; }
public MainViewModel()
{
Items = new ObservableCollection<Item>
{
new Item { Name = "Item1", Group = "A" },
new Item { Name = "Item2", Group = "B" },
new Item { Name = "Item3", Group = "A" },
new Item { Name = "Item4", Group = "B" }
};
}
}
通過以上設置,ListBox控件將會按照Group屬性進行分組排序,顯示為A組和B組,并且每個組中的項也會按照原始順序顯示。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。