Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
597 views
in Technique[技术] by (71.8m points)

c# - Update Databinding on lost focus

I've seen that WPF has a UpdateSourceTrigger property that will allow for data binding to take place after a control has lost focus, is there something similar for winforms?

I've come across an issue where when updating a databound value, the entire source is changed rather than the single property.

This is causing me a problem as I have a CheckBox that when changed checked state, updates another source that has a databinding from the same databinding source, which makes my checkbox never change value (or rather it does then changes it back)

I've created an example program that demonstrates this. (Basic form with a checkbox and text box)

Alternatively, is there another way to handle my databinding to make only the data bound property value change instead of the source?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In the end I had to manually update the databinding withith the CheckedChanged event.

For example, using the source for my example program.

checkBox1.CheckedChanged += (s, e) => { 
  dc.BooleanVal = ((CheckBox)s).checked;
  customControl1.Text = "3"; 
  label1.Text = dc.BooleanVal.ToString(); };

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...