You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF ComboBox绑定DisplayMemberPath与SelectedValuePath未按预期生效

问题根因
  • 你的绑定目标设置错误:当前你将Device.ObjectId绑定到了ComboBox.Text属性,该属性返回的是ComboBox界面展示的文本内容,也就是你通过DisplayMemberPath指定的Name属性值,所以赋值结果不符合预期。
  • 你设置的SelectedValuePath="Id"配置本身是正确的,该配置会让ComboBox的SelectedValue属性自动返回选中项的Id属性值,你只需要将绑定目标改为SelectedValue即可。
修正后的代码

XAML部分

<ComboBox ItemsSource="{Binding Objects}" 
          DisplayMemberPath="Name" 
          SelectedValuePath="Id"
          SelectedValue="{Binding Device.ObjectId, UpdateSourceTrigger=PropertyChanged}"/>
可选优化点
  • 建议给ObservableCollection明确指定泛型类型,避免类型推断问题:
ObservableCollection<Object> Objects = new ObservableCollection<Object>();
  • 确保你的ViewModel以及Device类都实现了INotifyPropertyChanged接口,避免属性变更不通知导致的绑定失效问题。

内容的提问来源于stack exchange,提问作者sadrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:24:01