2013-02-05 5 views
2

의 속성에 표시되는 텍스트를 대체하는 방법 :이 같은 클래스를 감안할 때 PropertyGrid가

클래스의 기본 인스턴스가 PropertyGrid 제어에 다음과 같이 나타납니다
public class SomeClass 
{ 
    public SomeClass() 
    { 
     Name = "Default"; 
     Values = Enumerable.Range(1,3).ToArray(); 
    } 

    public string Name { get; set; } 
    public int[] Values { get; set; } 
} 

:
PropertyGrid.SelectedObject = new SomeClass();

인가 Values 속성에 대해 표시되는 텍스트를 재정의하여 Int32[] Array 대신 1, 2, 3과 같은 내용을 표시 할 수 있습니다.



PropertyGrid 컨트롤에서 반사 및 상속을 포함한 솔루션을 환영합니다.

답변

2

난 당신이 ValuesTypeConverter 속성을 추가 할 수 있다고 생각 :

[TypeConverter(typeof(IntArrayToStringTypeConverter))] 
public int[] Values { get; set; } 

는 그 다음 documentation에 따라 IntArrayToStringTypeConverter을 만듭니다. 만약 당신이 원하는 것을 할 수있는 타입 변환기가 이미 있다면 확실하지 않습니다.

관련 문제