首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测WPFDataGrid行数据更改?

如何检测WPFDataGrid行数据更改?
EN

Stack Overflow用户
提问于 2012-10-16 17:13:36
回答 2查看 2K关注 0票数 2

我有一个DataGrid,并且需要检测用户何时对行进行了更改。我不想使用CellEditEnding,因为每当一行获得焦点并在没有任何输入的情况下失去焦点时,就会引发此事件,另一方面,我需要将bool属性绑定到每一行,当该行获得chgangd时设置为true。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-16 17:50:27

使用以下代码作为示例,这样您就知道了如何跟踪ItemSource中的项是否已更改的基本思想(此处仅与初始值进行比较)。

代码语言:javascript
复制
List<myItem> Items=new List<myItem>(); //your ItemSource



    class myItem:ObservableObject //an class implement INotifyPropertyChanged interface
    {
        string _inititemName;
        string _itemName;
        bool itemChanged; //here is your indicator

        myItem(string name)
        {
            _inititemName=itemName=name;
        }

        public string itemName
        {   
            get{return _itemName;}
            set
            {  
                _itemName=vlaue; 
                if (_itemName!=_inititemName) 
                   itemChanged=true; 
                else 
                   itemChanged=false;
                RaisePropertyChanged("itemName"); //or whatever the name of the method is that invoke OnPropertyChanged
            }
        }
    } 
票数 1
EN

Stack Overflow用户

发布于 2012-10-16 17:49:45

修改项目类的属性时,将其设置为布尔更新标志

例如:

代码语言:javascript
复制
public class MyGridItem
{
    public MyGridItem(string Name)
    { 
        this.Name = Name;
        Updated = false;
    }

    public bool Updated {get; private set;}

    private string _Name = null;
    public string Name
    {
        get { return _Name; }
        set { 
                if (!_Name.Equals( value ))
                {
                    _Name = value;
                    Updated = true
                 }
            }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12911290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档