我有一个实现 inotifypropertychaned 的类。
public class Item : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _name = string.Empty;
public string Name
{
get
{
return _name;
}
set
{
this._name = value;
onPropertyChanged(this, "Name");
}
}
private void onPropertyChanged(object sender, string property)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(sender, new PropertyChangedEventArgs(property));
}
}
}
在 UI 中,我有一个文本框,其中当长度超过时会发生 textchanged 事件,并更新绑定上述类的可观察集合的 UI(网格)。但用户界面没有更新。
ObservableCollection<Item> lstItem = null;
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
if (textBox1.Text.Length > 4)
{
Item obj = new Item();
obj.Name = textBox1.Text;
lstItem = new ObservableCollection<Item>();
dataGridView1.DataSource = lstItem;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message.ToString());
}
}
谢谢。