C# 使用winforms数据绑定检测脏数据
我正在使用winforms文本框的双向绑定。 我需要确定用户是否更改了我的数据 正在寻找帮助 如果属性已更改,则似乎会触发此事件,但如果当前属性已更改,则也会触发此事件 有没有办法判断数据是否已更改 但在我看来没有得到回答 Oliver提到“如果列表中的对象支持INotifyPropertyChanged事件,并且用BindingList替换列表,则可以订阅BindingList的ListChanged事件,以了解用户所做的任何更改。” 我的申请符合这些条件,但我不能让它工作。ListChangedType.ItemChanged属性看起来很有希望,但当我导航到下一条记录而不更改数据时,它会更改 我找到了一个链接,但肯定不会那么难 这似乎有效C# 使用winforms数据绑定检测脏数据,c#,winforms,data-binding,2-way-object-databinding,C#,Winforms,Data Binding,2 Way Object Databinding,我正在使用winforms文本框的双向绑定。 我需要确定用户是否更改了我的数据 正在寻找帮助 如果属性已更改,则似乎会触发此事件,但如果当前属性已更改,则也会触发此事件 有没有办法判断数据是否已更改 但在我看来没有得到回答 Oliver提到“如果列表中的对象支持INotifyPropertyChanged事件,并且用BindingList替换列表,则可以订阅BindingList的ListChanged事件,以了解用户所做的任何更改。” 我的申请符合这些条件,但我不能让它工作。ListCha
void bindingSource_BindingComplete(object sender, BindingCompleteEventArgs e)
{
if (e.BindingCompleteContext == BindingCompleteContext.DataSourceUpdate)
{
var person = (Person)bindingSource.Current;
if ( person.State == State.Unchanged && (e.BindingCompleteState == BindingCompleteState.Success)
&& e.Binding.Control.Focused)
{
person.State = State.Modified; // using Julie Lerman's repositories technique
}
}
}