我使用ListCollectionView作为选项卡控件的datacontext。我已经根据枚举添加了一个GroupDescription,我希望一个特定的组显示为选项卡控件中的第一个选项卡,但现在它总是放在底部。
Profiles = new ListCollectionView(_profiles);
Profiles.GroupDescriptions.Add(new PropertyGroupDescription("ProfileType"));
Profiles.SortDescriptions.Add(new SortDescription("ProfileName", ListSortDirection.Ascending));
_profiles是我的个人资料ViewModels的ObservableCollection。
My Enum看起来像:
public enum ProfileTypeEnum
{
CurrentSettings,
CustomSettings,
DefaultSettings
}
那么如何强制CurrentSettings组永远是第一个?
答案 0 :(得分:3)
尝试使用辅助属性:
public class Item
{
public ProfileTypeEnum ProfileType { get; set; }
public string ProfileName { get; set; }
public int ProfileTypeValue { get { return (int)ProfileType; } }
}
给枚举值:
public enum ProfileTypeEnum
{
CurrentSettings=0,
CustomSettings=1,
DefaultSettings=2
}
并添加排序说明:
Profiles.SortDescriptions.Add(new SortDescription("ProfileTypeValue", ListSortDirection.Ascending));
Profiles.SortDescriptions.Add(new SortDescription("ProfileName", ListSortDirection.Ascending));
通过这种方式,您可以使用枚举值来改变顺序并强制一个在顶部。