특정 유형의 컨트롤을 추가 속성으로 확장하는 Extender (IExtenderProvider)가 있습니다. 이러한 속성 중 하나에 대해서는 이 UITypeEditor로 작성되었습니다. 지금까지 모든 것이 잘 작동합니다.UITypeEditor 및 IExtenderProvider
익스텐더에는 두 가지 속성이 있습니다. 은 UITypeEditor에 대한 일종의 기본값으로 사용하려고합니다. 내가 뭘하고 싶지 (확장 컨트롤이 아닌) 익스텐더 자체의 속성을 설정할 수 있습니다. 그리고 확장 컨트롤 의 추가 속성 중 하나에 대해 UITypeEditor를 열면 UITypeEditor의 값을 Extender의 속성 값인 으로 변경하십시오.
간단한 예 : ExtenderProvider에는 DefaultExtendedValue 속성이 있습니다. 양식에서이 속성의 값을 "My Value"로 설정했습니다. 확장 된 컨트롤에는 공급자를 통해 UITypeEditor가있는 ExtendedValue 속성이 있습니다. ExtendedValue 속성의 편집기를 열면 기본 (초기) 값을 "내 값"으로 설정해야합니다.
이 가장 좋은 곳이 바로 IWindowsFormsEditorService.DropDownControl 또는 .ShowDialog를 호출하기 전에, UITypeEditor.EditValue 것 할 것을 날 것으로 보인다.
유일하게 문제는 EditValue에서 Extender 공급자 자체를 보류로 가져올 수 없거나 해당 속성의 값을 읽고 UITypeEditor에 설정한다는 것입니다. 컨텍스트는 확장 된 컨트롤을 제공하지만,이 경우에는 전혀 유용하지 않습니다.
내가 시도하는 것을 달성 할 수있는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다!
감사 톰
@samjudson : 그것은 나쁜 생각이 아니다,하지만 불행히도 그것은 아주 저를 거기하지 않습니다. Extender 공급자의 각 인스턴스에 대해이 기본값을 개별적으로 설정할 수 있어야합니다. 하나의 폼에 다른 컨트롤의 그룹에 대해 서로 다른 값을 가진 여러 값이있을 수 있습니다.