1
我有一個類MinMax
其中除其他外包含此:編輯自定義類型
public class MinMax
{
private float m_min = 0;
private float m_max = 1;
public override string ToString()
{
return m_min + " " + m_max;
}
}
我也有另一個類SomeClass
這種類型的屬性:
public MinMax Something
{
get
{
return m_something;
}
set
{
m_something = value;
}
}
當我將一個SomeClass
類型的對象放在屬性網格中,Something
已正確顯示,但由於自然原因,我無法編輯該值。
我知道我可以創建自定義類型編輯器並顯示自定義窗體來編輯它,但我想直接編輯顯示的字符串。
我的第一個解決方案是從Something
返回一個string
,但我有其他代碼需要此屬性以本機格式返回。
是thera任何其他方便的解決方案,將讓med直接在propertygrid中作爲字符串編輯值?
它看起來像一個類型轉換器是我需要的,如果我創建一個類型轉換器'MinMaxConverter'它可以將字符串轉換爲一個'MinMax'並添加像'[TypeCo nverter(typeof(MinMaxConverter))]''我的''東西'屬性會自動工作? – 2010-11-19 09:04:27
工作完美! – 2010-11-19 09:14:49
抱歉,對於遲到的回覆...是的,當然你也可以只使用'TypeConverter',但如果你需要更復雜的編輯(例如,如果字符串不夠用),「UITypeEditor」完全適合。 – digEmAll 2010-11-19 09:21:04