2016-08-18 55 views
0

我有一個綁定到一些枚舉類型的組合框。我想知道如何爲枚舉項目添加空間。我試圖使用轉換器,但失敗了。 枚舉類型是這樣如何在UWP中的組合框內添加項目的空間?

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

我想組合框顯示類似「兩個星期」,而不是TwoWeeks

回答

0

你有幾個選項,

添加[Description]屬性,然後把它拿來在需要的時候:

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

在Unity中實現一些方法,如ObjectNames.NicifyVariableName

+0

添加[說明]似乎不適合我的情況下工作,但我做的是包含枚舉和描述字符串,然後寫一個轉換器來實現同樣的效果類。使用集合而不是枚舉。謝謝! – litaoshen

0

使用集合,而不是像這樣

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