wpf ComboBox绑定数据及变更事件

定义ComboBox,以及SelectionChanged事件

cs 复制代码
 <ComboBox x:Name="cmb_radius" Height="30" Width="65" FontSize="15" 
DisplayMemberPath="Value" SelectedValuePath="Key" HorizontalAlignment="Center"
VerticalAlignment="Center" Margin="3" SelectionChanged="cmb_radius_SelectionChanged"/>

实体类及数据绑定

cs 复制代码
public class ComboBoxEntity
{
    public string Key { get; set; }
    public string Value { get; set; }
}

cmb_radius.Items.Clear();
List<ComboBoxEntity> lcb = new List<ComboBoxEntity>();
for (int i = 0; i < M_Radius.Columns.Count; i++)
{
    ComboBoxEntity cbe = new ComboBoxEntity();
    cbe.Key = M_Radius.Columns[i].ColumnName;
    cbe.Value = M_Radius.Rows[0][i].ToString();
    
    // 添加ComboBoxEntity对象到列表中
    lcb.Add(cbe);
}

// 设置cmb_radius的ItemsSource为lcb
cmb_radius.ItemsSource = lcb;

SelectionChanged事件的处理

cs 复制代码
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    ComboBox comboBox = (ComboBox)sender;
    // 获取选中的项
    object selectedValue = comboBox.SelectedItem;

    // 需要的业务逻辑处理
    if (selectedValue != null)
    {
         string cbKey = (selectedValue as ComboBoxEntity).Key;
         string cbValue = (selectedValue as ComboBoxEntity).Value;
    }
    //...
}
相关推荐
zimoyin7 小时前
在 C# 里嵌入 JavaScript:用 Jint 做可热更新的自动化脚本(从入门到踩坑)
javascript·c#·自动化
小羊没烦恼!10 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
c#上位机12 小时前
C#上位机项目实战——exe项目调试更改dll中源代码
开发语言·c#
淡海水13 小时前
06-02-源码-增量标记算法实现
算法·unity·c#·gc
淡海水14 小时前
06-01-源码-Incremental GC总览与设计
unity·c#·gc
江沉晚呤时16 小时前
零依赖的代价与自由:我用 C# 自研了一套 Office 读写库
开发语言·c#
nap11717 小时前
WPF 中常用的 LINQ 语句
wpf
zimoyin18 小时前
Windows 控件获取全攻略:Win32 / UIA / MSAA + 鼠标拾取与点击关联(C# 实战)
c#·自动化
小羊没烦恼!1 天前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
昂好的day1 天前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#