【发布时间】:2023-03-30 09:12:01
【问题描述】:
我正在调整一个 WinForms 应用程序。此应用程序有一个Form,其中包含一个PropertyGrid。将一个对象分配给SelectedObject 属性,以便属性网格显示该对象的属性。
分配的对象类型有一个属性,该属性带有一个EditorAttribute,指定一个UITypeEditor。
UITypeEditor 的此实现在其对 GetEditStyle 方法的覆盖中返回 UITypeEditorEditStyle.Drop。它的EditValue 方法显示一个ListBox,可以从中分配实例属性的值。
到目前为止一切顺利。
现在我有一个附加要求,它要求根据托管PropertyGrid 的Form 持有的其他状态来修改列表中的可用项目。我不知道如何将这些上下文信息传递给 EditValue 方法。
context 参数上似乎没有任何内容,即使我尝试将其转换为更具体的类型。我也不知道如何添加一些其他服务以从provider 中检索。
有什么想法吗?
【问题讨论】:
标签: c# winforms propertygrid uitypeeditor