C# WPF MVVM设计模式下ComboBox的数据源更新的一个问题

C# WPF MVVM设计模式下ComboBox的数据源问题

问题的出现

  • 我在设计一个基于C# & MVVM 的WPF应用,当我对MainWindow的一个ComboBox进行数据绑定时候,发现当数据源更新后,前台的ComboBox的Items并没有更新。

解决

  • 将数据源转化为ObservableCollection即可解决。
  • 此外,很多情况下,我的原始数据是一个列表,所以还需要进行一次List到ObservableCollection的转化,如下代码示意。
/// <summary>
/// 这是定义的属性,作为数据源
/// </summary>
private ObservableCollection<string> myVar;
public ObservableCollection<string> MyProperty
	{
		get { return myVar; }
		set
		{
			myVar = value;
			this.RaisePropertyChanged(nameof(MyProperty));
		}
	}

// 给属性赋值,将List转成ObservableCollection
MyProperty = new ObservableCollection<string>(MyDataSource); // 此的MyDataSource是一个List<string>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值