wpf中combobox控件的selecteditem和selectedvalue的mvvm绑定(代码片段)

larissa-0464 larissa-0464     2022-11-30     640

关键词:

问题描述:左侧是一个ListView控件,用于显示User类的Name属性,右侧显示其SelectedItem的其他属性,包括Age, Address,和Category。其中Category用ComboBox表示。在下拉框选中其他category,可以更改User的属性值。

技术图片

 

 技术图片

 

 技术图片

 

 如果Category是string类型,即User类的定义如下

技术图片
public class User
    
        public string Name  get; set; 
        public int Age  get; set; 
        public string category  get; set; 
        public string Address  get; set; 
    
User Class

那么,combobox的绑定代码如下:

<ComboBox Width="150" Canvas.Left="80" ItemsSource="Binding Path=Categories" 
                          SelectedItem="Binding ElementName=listview, Path=SelectedItem.category, Mode=TwoWay" Name="cbotypes"/>

直接绑定到了SelectedItem属性。

如果Category是个复合类型,即User类和Category类定义如下:

技术图片
public class User
    
        public string Name  get; set; 
        public int Age  get; set; 
        public  Category category  get; set; 
        public string Address  get; set; 
    

    public class Category
    
        public int ID  get; set; 
        public string Name  get; set; 
    
Category&User class

那么,combobox的绑定代码如下:

<ComboBox Width="150" Canvas.Left="80" ItemsSource="Binding Path=Categories" DisplayMemberPath="Name"
                          SelectedItem="Binding ElementName=listview, Path=SelectedItem.category, Mode=TwoWay" SelectedValuePath="Name" 
                          SelectedValue="Binding ElementName=listview, Path=SelectedItem.category.Name" Name="cbotypes"/>

使用DisplayMemberPath指定了绑定到Category类中的Name属性,并使用了SelectedValue和SelectedValuePath绑定到具体的SelctedItem.

全部源代码:

https://github.com/Larissa1990/WPF_ComboBox_SelectedItem

wpf控件功能重写(combobox回车搜索)(代码片段)

原文:WPF控件功能重写(ComboBox回车搜索)前言:在我们日常使用软件的时候,Combobox会让用户很方便的选择出需要的东西,但是ComboBox中的下拉行数过多时就不那么好用了。如果在项目中有很多这样的ComboBox控件的话,我们可以考虑... 查看详情

wpf控件功能重写(combobox回车搜索)(代码片段)

前言:在我们日常使用软件的时候,Combobox会让用户很方便的选择出需要的东西,但是ComboBox中的下拉行数过多时就不那么好用了。如果在项目中有很多这样的ComboBox控件的话,我们可以考虑重写控件。重写后的的工具类:(重写... 查看详情

wpf中combobox控件的selecteditem和selectedvalue的mvvm绑定(代码片段)

...ctedItem的其他属性,包括Age,Address,和Category。其中Category用ComboBox表示。在下拉框选中其他category,可以更改User的属性值。      如果Category是string类型,即User类的 查看详情

wpf的combobox怎么绑定数据?

Wpf的comboBox怎么绑定数据?数据是从数据库读取出来的,显示的是类别的名称,点击提交时提交的是类别的ID,这要怎么做?WPF中提供了数据绑定的功能,操作起来很方便,集合类的控件几乎都可以用数据源来进行数据的绑定,... 查看详情

wpf中combobox控件偶尔不显示下拉框

<ComboBoxName=...Width="150"Height="27"SelectedIndex="0"><ComboBoxItemContent="TCP"/><ComboBoxItemContent="RS485"/></ComboBox>是添加设备的一个页面,里面包括设备名称、ip等,全部由用户手动输入,... 查看详情

WPF DataTemplate ComboBox 绑定问题

】WPFDataTemplateComboBox绑定问题【英文标题】:WPFDataTemplateComboBoxbindingissue【发布时间】:2011-07-0512:25:33【问题描述】:编辑:重写问题我在我的WPF用户控件中使用来自http://dlhsoft.com/Home.aspx的项目管理库。我在我的页面上显示他们... 查看详情

将焦点放在 WPF ComboBox 上并不总是有效

】将焦点放在WPFComboBox上并不总是有效【英文标题】:SettingfocusonWPFComboBoxnotalwaysworking【发布时间】:2012-07-1018:23:25【问题描述】:我有一个解决方案,它有两个项目,一个主要项目和一个也使用的小型共享控件。在我们的应用... 查看详情

wpf——combobox控件怎么绑定数据

一个是Value,一个是Text我现在只会绑一个Text。怎么才能把它的索引也绑上。参考技术A把要帮定的值先从数据库里读出来,再放到集合里循环读取就可以了 查看详情

WPF 自定义控件,将多个 ComboBox 值组合成单个 DependencyProperty

】WPF自定义控件,将多个ComboBox值组合成单个DependencyProperty【英文标题】:WPFCustomControl,CombinemultipleComboBoxvaluesintosingleDependencyProperty【发布时间】:2021-12-2914:05:16【问题描述】:我有一个自定义控件,其中包含两个ComboBoxes,其中... 查看详情

WPF ComboBox 绑定到不显示所选项目文本的用户控件集合

】WPFComboBox绑定到不显示所选项目文本的用户控件集合【英文标题】:WPFComboBoxBoundtoCollectionofUserControlsNotShowingSelectedItem\'sText【发布时间】:2011-03-0616:05:49【问题描述】:我有一个绑定到自定义UserControls的ObservableCollection的ComboBox... 查看详情

2021-08-13wpf控件专题combobox控件详解(代码片段)

1.ComboBox控件介绍手动添加项绑定数据代码里ItemSourceIEnumerableListItems.AddDataContext=ListItemSource="Binding"2.具体案例<Grid><ComboBoxHorizontalAlignment="Left"Margin="96 查看详情

wpf中datagrid的combobox的简单绑定方式(绝对简单)

在写次文前先不得不说下网上的其他wpf的DataGrid绑定ComboBox的方式,看了之后真是让人欲仙欲死。首先告诉你一大堆的模型,一大堆的控件模板,其实或许你紧紧只想知道怎么让combobox怎么显示出来而已。惯例先上图:达到这样的... 查看详情

在 WPF 中优雅地覆盖 ComboBox 的 ToggleButton 样式

】在WPF中优雅地覆盖ComboBox的ToggleButton样式【英文标题】:ElegantlyoverridestyleofComboBox\'sToggleButtoninWPF【发布时间】:2010-12-2011:24:35【问题描述】:我有一个关于如何优雅地覆盖控件可视化树深处的任意元素的问题。我也尝试过用几... 查看详情

c#wpf如何向combobox控件添加类型为comboboxitem的项?

C#WPF如何向combobox控件添加类型为comboboxitem的项?举个例子,有combobox1、button1两个控件当button1_Click事件发生时,为combobox1添加一个项,这个项的类型是comboboxitem(即System.Windows.Controls.ComboBoxItem),content为“123”,怎么做到?如... 查看详情

C# WPF - 组合框

】C#WPF-组合框【英文标题】:C#WPF-ComboBox【发布时间】:2011-01-0616:43:50【问题描述】:我正在开发一个内部使用ComboBox的自定义控件。我的问题是当ComboBox聚焦并打开下拉菜单时,它似乎聚焦整个控件。我想自动突出显示下拉列表... 查看详情

wpf控件(代码片段)

...xtBox列表控件:控件在列表中显示项的集合,包括ListBox和ComboBox 查看详情

wpf自定义控件combobox依赖属性

我新建了一个usercontrol,里面套了一个ComboBox代码如下<UserControl><ComboBoxItemsSource="BindingSource=x:Staticlocal:CustomCombobox.SubjectList"SelectedItem="BindingPath=SelectedSubject,RelativeSource=RelativeSourceMode=FindAncestor,AncestorType=x:TypeUserCont... 查看详情

如何在 WPF 中“单击”控件?

...表。我有我的项目模板,其中一个值是我的每个项目中的ComboBox。现在,除了采购订单之外,我的表单还可以创建贷项通知单,但是当我创建贷项通知单时,我想将“贷项通知单”放在列表框上,但 查看详情