/// <summary> /// 绑定下拉框选项 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cmb">待绑定的下拉框</param> /// <param name="dataList">数据集</param> /// <param name="funcWhere">过滤条件</param> /// <param name="func">返回下拉项</param> public void BindCom <T>(ComboBox cmb, ICollection <T> dataList, Func <T, bool> funcWhere, Func <T, ComBoxItem> func) { List <ComBoxItem> list = new List <ComBoxItem>(); if (!dataList.HasItems()) { return; } // 循环数据集 foreach (var item in dataList) { // 执行条件 if (funcWhere.Invoke(item)) { list.Add(func.Invoke(item)); } } if (list == null) { return; } // 绑定数据集 ComBoxItem option = new ComBoxItem(); cmb.ValueMember = nameof(option.Value); cmb.DisplayMember = nameof(option.Display); cmb.DataSource = list; }
/// <summary> /// 下拉框选择 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbMain_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComBoxItem userInfo = cmbMain.SelectedItem as ComBoxItem; if (userInfo != null) { PartText = userInfo.ItemName; SelectValue = userInfo.ItemCode; Text = userInfo.ItemName; } }
/// <summary> /// 下拉框选择 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbMain_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComBoxItem userInfo = cmbMain.SelectedItem as ComBoxItem; if (userInfo != null) { PartText = userInfo.ItemName; Text = userInfo.ItemName; SelectValue = userInfo.ItemCode; if (TextEnabled) { cmbMain.ItemsSource = null; cmbMain.ItemsSource = GetItems(Text); } } }