【WPF笔记】当ComboBox绑定的数据源发生改变时,显示的数据实时刷新。

WPF的ComboBox的数据绑定方法:

DrawSheetlist是数据源;PagIndexInfo是要显示的文本;PagIndex是选中值。

ObservableCollection这个类的方法,对数据的操作很少,重点放在了当自己本身变化的时候(不管是属性,还是集合)会调用发出通知的事件。(一般用于更新UI,当然也可以用于写其他的事情。)

所以划重点,combobox绑定的数据类型换成ObservableCollection,如下:

 public ObservableCollection DrawSheetlist
        {
            get
            {
                ObservableCollection drawSheetlist = new ObservableCollection();
                _drawSheetlist.ForEach(item =>
                {
                    drawSheetlist.Add(item);
                });
                return drawSheetlist;
            }

            set
            {
                _drawSheetlist = value.ToList();
            }
        }

 

最后继承INotifyPropertyChanged这个接口,并实现。

public partial class AtlaViewSetWindow : Window, INotifyPropertyChanged
{
     public event PropertyChangedEventHandler PropertyChanged;

     private void btnAdd_Click(object sender, RoutedEventArgs e)
     {
          //此处进行数据源改变操作
          this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("DrawSheetlist")); 
     }
}

最后记得刷新一下页面就可以了。

你可能感兴趣的:(C#,WPF)