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

このようにして、列挙の値を使用して順序を変更し、1 つを上に強制することができます。

于 2012-07-26T13:43:27.167 に答える