将组合框数据从列表绑定到属性

本文关键字:绑定 属性 列表 组合 数据 | 更新日期: 2023-09-27 18:34:45

我有一个这样的combo box和按钮

<ComboBox  ItemsSource="{Binding MessageTypesList}" 
           DisplayMemberPath="MessageType" 
           SelectedValue="MessageType" />
<Button Content="Search" 
        Command="{Binding Path=SearchMessageTypes}" 
        x:Name="SearchMessageTypeButton"/>

MessageTypesList列表是从 SQL 查询生成的,从列表中选择消息类型后,"搜索"按钮需要将所选值传递给我的 ViewMainModel 中的字符串属性。

调试应用程序时,传递给 MessageType 属性的值始终为 NULL。我将其用于类似的日期时间搜索,但看不到如何将 XAML 中的 MessageType 值传递给 MessageType 属性表单绑定生成的列表。

将组合框数据从列表绑定到属性

应将 SelectedValue 属性绑定到视图模型中的属性。

在视图模型中创建一个属性:

public MessageType SelectedType {get;set;}

在 XAML 中将选定项绑定到此属性:

<ComboBox  ItemsSource="{Binding MessageTypesList}" SelectedItem="{Binding SelectedType, Mode=TwoWay" />