如何允许用户设置确定 PropertyGrid 中属性值的表达式
我注意到像报表生成器这样的程序允许用户设置属性值或确定属性值的表达式。我想向我的应用程序添加相同的功能。那么有没有简单的方法可以做到这一点,或者我是否必须重新定义所有类型转换器,以便它们除了原始功能之外还允许设置表达式。
这里是一个示例http://img204.imageshack.us/img204/7934/48707358。 jpg
I noticed that programs like Report Builder allow user to set property value or an expression determining property value. I want to the add same functionality to my application. So is there any simple way to do so or do i have to redefine all type converters so that they allow to set expression in addition to their original functionality.
Here is an example http://img204.imageshack.us/img204/7934/48707358.jpg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许重写 Property-Grid-Control 将这种功能添加到每个属性更容易。
我只是很好奇,你如何评估这些表达式(CodeDOM)?
Maybe it's easier to override the Property-Grid-Control to add this kind of functionality to every property.
I am just curious, how do you evaluate those expressions (CodeDOM) ?
如果你想创建自己的“下拉属性”,你需要实现一个自定义的UITypeEditor。
有几个示例:
If you want to create your own "drop-down properties", you need to implement a custom UITypeEditor.
There are several samples for that:
这是通过
TypeConverter
公开的。要允许字符串输入,该对象必须可从
string
类型转换。要允许下拉菜单,请通过
GetStandardValues
公开值。您还需要重写 xxxSupported 方法。
This is exposed via
TypeConverter
.To allow string input, the object must be convertible from type
string
.To allow a drop down, expose the values via
GetStandardValues
.You will need to override the
xxxSupported
methods too.