当前位置:编程学习 > C#/ASP.NET >>

PropertyGrid 急救,高手请进!

    我在运行时通过PropertyGrid改变对象的属性,其中有一个属性的编辑器是自定义的UITypeEditor,因为当某个属性更改后要拿到其值,所以使用PropertyValueChanged事件,但唯独自定义的UITypeEditor属性进不到PropertyValueChanged事件处理程序。
    请高手帮忙,急!急!急!  --------------------编程问答-------------------- ? --------------------编程问答-------------------- 在从编辑器获取返回值的时候,如果是引用对象,不要只改变value的成员:


object  EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
    (value as List<int>)[0] = 123;             // wrong.
    return value;


    List<int> result = new List<int>;          // correct
    result.AddRange( value as List<int> );
    result[0] = 123;
    return result;  
}


而是要返回一个新的对象。后面一种情况将触发PropertyValueChanged事件。
看来PropertyGrid根据简单的引用相等来判断属性是否改变。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 非常感谢大家的支持(虽然上面的答案没起到作用),问题已经解决了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,