日期:2014-05-17  浏览次数:21030 次

PropertyGrid中不确定下拉框数据绑定
private string theName = string.Empty;
  private object theValue = null;
当theValue为数组时 这一栏就设置为下拉框 并把数组的值绑定到下拉框中
propertyg中每行前面一栏为theName的值 后面一栏为theValue的值
这个怎么实现 求大神指教

------解决方案--------------------
调用代码不是写了吗?在属性上面添加[Editor(typeof(SysMenuSelectorEditor), typeof(UITypeEditor))]

至于下拉框的内容,我示例里面是来自那个CommonData.sysmenus.Keys,而你的情况就是访问外部的那个theValue 变量,遍历添加,如果想做得更加灵活点,可以模仿前面的代码,使用特性访问来选择外部变量。
------解决方案--------------------
呵呵,到这个节骨眼了没想明白么?

ListAttribute(strArray) 
这里可以大作文章啊。比如传入 xpath,到指定的xml读取。
或者获得某个静态类的数组返回。

public class ListAttribute : Attribute 

public string[] _lst; 
  
public ListAttribute(string[] lst) 
{
//初始化列表值
_lst = new[] {"1", "3", "4"};
}
}