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

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"};
   }
}