簡體   English   中英

如何在UWP中的組合框內為項目添加空間?

[英]How to add space for item inside the ComboBox in UWP?

我有一個ComboBox綁定到某些枚舉類型。 我想知道如何為枚舉項添加空間。 我嘗試使用轉換器,但失敗了。 枚舉類型是這樣的

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

我希望組合框顯示類似“兩周”的內容,而不是“兩周”的內容

您有幾種選擇,

添加一個[Description]屬性,然后在需要時獲取它:

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

要么

在Unity中實現一些類似於ObjectNames.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; } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM