如何在UWP中为组合框内的项目添加空间

本文关键字:项目 添加 空间 组合 UWP | 更新日期: 2023-09-27 18:03:13

我有一个ComboBox绑定到一些enum类型。我想知道如何为枚举项添加空间。我试图使用转换器,但失败了。枚举类型如下

public enum MaxEEAge
{
    TwoWeeks = 0,
    OneMonth = 1,
    ThreeMonths = 2,
    SixMonths = 3,
    All = 4,
}

我希望ComboBox显示的是"Two Weeks"而不是TwoWeeks

如何在UWP中为组合框内的项目添加空间

你有几个选择,

添加[Description]属性,然后在需要时获取它:

[Description("Two weeks")]
TwoWeeks = 0

实现一些方法,比如ObjectNames。Unity中的NicifyVariableName

使用collection代替enum

    public class MaxXXAgeMembers
        {
            public MaxXXAge MaxXXAge { get; private set; }
            public string Description { get; private set; }
            public static readonly IReadOnlyList<MaxXXAgeMembers> Options = new ReadOnlyCollection<MaxXXAgeMembers>(new[]
            {
                new MaxXXAgeMembers { MaxXXAge =  MaxXXAge.OneDay, Description = Strings.SettingSync_OneDay},
.......
            });
            public static MaxXXAgeMembers FromMaxXXAge(MaxXXAge maxXXAge)
            {
                return Options.First(option => option.MaxXXAge == maxXXAge);
            }
        }

使用FromMaxXXAge编写自己的转换器,这将很容易实现。

绑定到

public IReadOnlyList<MaxXXAgeMembers> MaxXXAgeMemberGroup { get { return MaxXXAgeMembers.Options; } }