在运行时单击按钮使用 UI 编辑器
我有一个针对 C# 属性的自定义 UI 编辑器。编辑器在设计时工作得很好。我多么想在运行时单击按钮来启动编辑器。我该怎么做?
谢谢, 达特
I have a custom UI Editor for a property in C# . The editor works fine at design time. How ever I want to lauch the editor on click of a button at runtime. How can I do this?
Thanks,
Datte
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在自定义(即运行时)场景中使用 UITypeEditor 绝对是一个技巧。启动
UITypeEditor
最明显的部分非常简单:只需将实例转换为UITypeEditor
并调用EditValue
或您想要的任何其他方法。使用它们最困难的部分之一是弄清楚要提供什么类型描述符上下文,更难的是弄清楚要提供哪些服务。
您对您尝试托管的特定编辑器了解得越多,您就越了解要提供什么上下文和服务。
您尝试做的事情绝对是可能的(显然 Visual Studio 可以做到),但可能非常困难。
到目前为止,您尝试过什么,什么不起作用?
Using a
UITypeEditor
in custom (i.e. runtime) scenarios is definitely a trick proposition. The most obvious part about launching aUITypeEditor
is quite trivial: Just cast the instance toUITypeEditor
and callEditValue
or whatever other method you want.One of the hardest parts about using them is figuring out what type descriptor context to provide, and harder yet, figuring out which services to provide.
The more you know about the particular editor you are trying to host the better you will know what context and service to provide.
What you're trying to do is definitely possible (obviously Visual Studio can do it), but it might be very difficult.
What have you tried so far and what isn't working?
这是我的一个例子: http://xacc.svn.sourceforge.net/viewvc/xacc/xacc/Controls/UIEditorForm.cs?revision=7&view=markup
Here is an example I have: http://xacc.svn.sourceforge.net/viewvc/xacc/xacc/Controls/UIEditorForm.cs?revision=7&view=markup