none
重新绑定DataGrid后,内部控件的状态未改变? RRS feed

  • 问题


  • 我有个查询的功能。通过点击查询按钮使用ObservableCollection<T>对象,绑定DataGrid。
    我在页面加载的时候将ObservableCollection<T>对象赋值给DataGrid的ItemSource属性。
    在绑定方法中我是先清空集合,再向集合中添加T对象。
    代码大致如下:
    private ObservableCollection<T> oc = null;
    // 构造函数
    protected SL控件()
    {
    	oc = new ObservableCollection<T>();
    	oc.Add(T);
    	//....
    	this.dataGrid.ItemSource = oc;
    }
    
    private DataBind()
    {
    	this.oc.Clear();
    	foreach(....)
    	{
    		this.oc.Add(T);
    	}
    	
    }

    但是这样会出现一个问题。那就是我单击按钮执行DataBind方法后DataGrid控件的数据虽然改变了,
    但是DataGrid的内部的控件的状态没有改变。和上次查询的状态是一样的。
    请问大家这时怎么回事?你们是怎么做的?

    THAT IS ALL ...
    2011年1月25日 10:55

答案

  • INotifyPropertyChanged 你有没有继承这个接口。继承这个接口后,你可以在后台修改类的属性值.

    Silverlight帮助文档的数据绑定那一节有详细的描述.


    努力!完成了js解析器,还差一个svg插件,一个绘图程序,做好自己,呵呵~!
    2011年3月12日 9:09
    版主

全部回复

  • ”内部控件状态没有改变“

    这个是什么意思?能再解释一下吗?


    Mog Liang
    Please mark the replies as answers if they help or unmark if not.
    If you have any feedback about my replies, please contact msdnmg@microsoft.com.
    Microsoft One Code Framework
    2011年1月28日 8:52
  • INotifyPropertyChanged 你有没有继承这个接口。继承这个接口后,你可以在后台修改类的属性值.

    Silverlight帮助文档的数据绑定那一节有详细的描述.


    努力!完成了js解析器,还差一个svg插件,一个绘图程序,做好自己,呵呵~!
    2011年3月12日 9:09
    版主