ListBox 控件可以通过设置 ItemsSource 属性来绑定数据源,当数据源发生变化时,ListBox 控件会自动更新显示的项。
要监听数据源的变化,可以使用 ObservableCollection 类作为数据源。ObservableCollection 类实现了 INotifyCollectionChanged 接口,当数据源发生变化时会触发 CollectionChanged 事件。因此,可以在 CollectionChanged 事件的处理程序中更新 ListBox 控件的显示。
示例代码如下:
// 创建一个 ObservableCollection 对象作为数据源
ObservableCollection<string> items = new ObservableCollection<string>();
items.Add("Item 1");
items.Add("Item 2");
items.Add("Item 3");
// 绑定数据源到 ListBox 控件
listBox.ItemsSource = items;
// 监听数据源的变化
items.CollectionChanged += Items_CollectionChanged;
// 数据源变化的处理程序
private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
// 数据源发生变化时更新 ListBox 控件的显示
if (e.Action == NotifyCollectionChangedAction.Add)
{
foreach (string newItem in e.NewItems)
{
listBox.Items.Add(newItem);
}
}
else if (e.Action == NotifyCollectionChangedAction.Remove)
{
foreach (string oldItem in e.OldItems)
{
listBox.Items.Remove(oldItem);
}
}
}
在上面的示例中,我们创建了一个 ObservableCollection 对象作为数据源,并绑定到 ListBox 控件上。然后我们监听了数据源的 CollectionChanged 事件,并在事件处理程序中更新 ListBox 控件的显示。当数据源发生添加或移除操作时,ListBox 控件会相应地更新显示的项。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。