下面的代码演示了listbox控件与数据的binding,利用ObservableCollection可以很好的完成item的添加和删除后改变listbox的项,
而ObservableCollection本身有属性改变后刷新的事件,很方便地完成数据驱动UI。
首先在xmal文件中定义好listbox控件,名字叫:lbxSendDisp;
在code-behind文件中:
private ObservableCollection<string> collectionDispData = new ObservableCollection<string>();
private delegate void DataDispHandler(string str);
private event DataDispHandler OnDataDisp;
public MainWindow()
{
InitailzeComponent();
this.lbxSendDisp.ItemsSource = collectionDispData;
}
public MainWindow_Loaded(object sender, RouteEventArgs e)
{
OnDataDisp += new DataDispHandler (MainWindow_OnDataDisp);
}
void MainWindow_OnDataDisp(string str)
{
this.Dispatcher.BeginInvoke(DipatcherPriority.Normal, (ThreadStart)delegate(){collectionDispData.Add(str);});
}
在代码的适当处调用OnDataDisp() 这个事件就可以了。