2010-10-25 52 views
2

我在我的項目中使用WPF PropertyGrid(http://www.codeplex.com/wpg)。 但我有這個組件的一些問題。檢索集合和枚舉選定的值WPF屬性Grid

1)我可以在一個ComboBox中顯示我的IList集合。但我無法檢索選定的值。我如何獲得選定的價值?

2)枚舉會自動顯示在組合框中,但我無法像#1那樣檢索選定的值。

你能幫我嗎?

這是我收集財產

public class Contact { 
// Other properties 

    [TypeConverter(typeof(MyConverter))] 
     public string Cities 
     { 
      get; 
      set; 
     } 
} 

這是我的轉換器類

class MyConverter : TypeConverter 
    { 
     public override bool 
     GetStandardValuesSupported(ITypeDescriptorContext context) 
     { 
      return true; 
     } 
     public override StandardValuesCollection 
     GetStandardValues(ITypeDescriptorContext context) 
     { 
      List<string> list = new List<string>(); 

      list.Add("Istanbul"); 
      list.Add("Ankara"); 
      list.Add("Izmir"); 

      StandardValuesCollection cols = new 
      StandardValuesCollection(list); 
      return cols; 
     } 
    } 

當我把我的聯繫方式的類的實例WPF的PropertyGrid的實例屬性,我看不到任何COMBOX。但是,如果我將我的對象設置爲.Net PropertyGrid,我可以看到此解決方案運行良好。

所以我認爲這個PG不支持TypeConverts,所以我能做什麼?

+0

您使用的是數據綁定還是直接在代碼中填充網格? – 2010-10-25 21:55:59

+0

我通過我的網格綁定數據實例屬性 – 2010-10-26 06:47:39

+0

有興趣的用戶也可以檢查我已經實現的解決方案 - http://stackoverflow.com/questions/2816555/wpf-propertygrid-adding-support-for-collections – akjoshi 2011-01-12 09:27:41

回答

0

WPF propertygrid是否支持TypeConverters?在Winforms PG中完成的方式是您可以編寫一個TypeConverter並將其作爲屬性添加到您的屬性中。 TypeConverter然後可以指定StandardValuesCollection。所以在你的對象中你有屬性取一個值,你的轉換器指定了可能值的集合。

+0

我添加了代碼示例到我的代碼,你可以看看嗎? – 2010-10-26 06:47:13

+0

我現在檢查,我認爲它不支持TypeConverters :( – 2010-10-26 07:49:12