3

我使用 ListCollectionView 作为选项卡控件的数据上下文。我已经基于枚举向它添加了一个 GroupDescription,我希望一个特定的组显示为选项卡控件中的第一个选项卡,但是现在它总是放在底部。

Profiles = new ListCollectionView(_profiles);
        Profiles.GroupDescriptions.Add(new PropertyGroupDescription("ProfileType"));
        Profiles.SortDescriptions.Add(new SortDescription("ProfileName", ListSortDirection.Ascending));

_profiles 是我的个人资料 ViewModels 的 ObservableCollection。

我的枚举看起来像:

public enum ProfileTypeEnum
    {
        CurrentSettings,
        CustomSettings,
        DefaultSettings
    }

那么我怎样才能强制 CurrentSettings 组总是第一个呢?

4

1 回答 1

4

尝试使用辅助属性:

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));

通过这种方式,您可以使用枚举的值来改变顺序并强制一个在上面。

于 2012-07-26T13:43:27.167 回答