在 wpf 中绑定组合框时出错
本文关键字:出错 组合 绑定 wpf | 更新日期: 2023-09-27 18:30:21
我想使用数据集绑定一个组合框,但这些值没有在组合框中设置,而是显示 system.data.datarowview。我搜索这个,没有一个答案是正确的。我正在使用以下代码
if (ds.Tables[0].Rows.Count > 0)
{
cmb_usrname.ItemsSource = ds.Tables[0].DefaultView;
cmb_usrname.DisplayMemberPath = ds.Tables[0].Columns["usrName"].ToString();
cmb_usrname.SelectedValuePath = ds.Tables[0].Columns["userId"].ToString();
}
XAML
<ComboBox Height="23" HorizontalAlignment="Left" Margin="129,53,0,0" Name="cmb_usrname" VerticalAlignment="Top" Width="140" ItemsSource="{Binding}"/>
谢谢
西瓦吉斯
您需要将DisplayMemberPath
和SelectedValuePath
设置为列名
cmb_usrname.DisplayMemberPath = "usrName";
cmb_usrname.SelectedValuePath = "userId";
由于这是固定的,因此您不妨在 XAML 中执行此操作
<ComboBox ... DisplayMemberPath="usrName" SelectedValuePath="userId"/>
我相信
这已经得到了回答。请查看我对此问题的其他答案之一在 WPF 中将数据源视图绑定到数据网格WPF 数据触发器不起作用。
亮点是:
1) 你的后备 cs 文件需要实现 INotifyPropertyChanged
2) 在 xmal 文件中设置 DataContext="{Binding RelativeSource={RelativeSource Self}}"
3) 在您的组合框中设置 itemsSource="{Bind SomeProperty}"
4) 在您的后备 cs 文件中具有 ObservableCollection<SomeType>
的属性5)当物业更新时,请致电NotifyPropertyChanged