2009-09-16 4 views
0

사용자가 컨트롤의 속성을 수정할 수있는 Visual Studio 유형 속성 창을 디자인하려고합니다. 사용자가 UI에서 특정 컨트롤을 선택하면 모든 편집 가능한 속성이 속성 창에 표시되어야합니다. 사용자 정의 컨트롤은 속성 창에 대해 공개 할 속성을 제어해야합니다. 또한 사용자 정의 컨트롤은 속성의 유효성 검사를 담당합니다. 컨트롤은 정적이 아니므로 컨트롤을 dll로 추가 한 다음 해당 컨트롤을 사용자 인터페이스에 표시 할 수 있습니다. 이 시스템의 디자인을 찾고 있는데 UI 디자인이 아닙니다.속성 편집을 허용하는 시스템을 디자인하는 방법

+0

? 어떤 기술? 일부 환경에는 이러한 종류의 제어 기능이 내장되어 있습니다. – ndp

답변

0

리플렉션을 통해 구조와 값을 쿼리 할 수 ​​있습니다.

일반적인 방법은 분석해야하는 다른 클래스를 제공 할 수있는 클래스를 만드는 것입니다. 그런 다음 클래스의 속성을 반복하여 listview 나 비슷한 것으로 제시하십시오.

누군가가 GUI 개체를 변경하면 그에 따라 클래스를 업데이트합니다.

어쨌든 사용하려는 환경을 지정하지 않았지만 방금 사용하는 여러 가지 구현이있는 것으로 보입니다. 당신이 특정한 필요를 가지고 있지 않다면, 나는 여기서 바퀴를 재발명하지 않을 것이다. 당신이 C 번호를 사용하려면

이 나에게 좋아 보인다 : http://www.codeproject.com/KB/miscctrl/objectinspectorBySir%20ZeppaMan.aspx

This looks good to me

델파이를 들어 당신이 Raize Inspex을 사용할 수 있습니다. 한 번에 여러 개체를 편집 할 수 있습니다.

Inspex Inspex multiple

어떤 언어
+0

내 응용 프로그램이 Silverlight에 있습니다. 나는 모든 속성을 폭로하고 싶지 않습니다. 리플렉션을 사용하면 컨트롤에 정의 된 모든 속성이 표시됩니다. 사용자 정의 속성을 사용하는 것은 어떻습니까? 좋은 디자인일까요? 콤보 박스 유형의 속성 (사용자가 주어진 값에서 값을 선택할 수 있어야하는 곳)을 어떻게 처리 할 수 ​​있습니까? –

관련 문제