我在自定义UITypeEditor
中访问上下文数据时遇到了一些问题。我正在使用PropertyGrid
使用Windows窗体显示一些设置。 SelectedObject
的{{1}}包含PropertyGrid
。类型List<A>
有一个属性我为其创建了一个自定义编辑器,需要一些外部信息才能为A
的不同实例自定义它。
我尝试过使用传递给PropertyGrid
的{{1}}来访问包含数据的自定义服务。讽刺性地在这里给出了答案Passing objects to a UITypeEditor,但我没有设法让它发挥作用。 IServiceProvider
始终在EditValue
内返回null。我认为我的问题是我需要GetService
EditValue
在需要信息的嵌套ISite
中无法访问(当我尝试使用{{1}获取服务时在列表编辑器的PropertyGrid.Site
方法中,它可以工作)。
有谁知道如何让UITypeEditor
传播到嵌套GetService
?
一些伪代码:
EditValue