从组合框的项源过滤下拉列表在按下键时进行编辑

时间:2019-06-27 06:36:16

标签: c# wpf

我有ComboBoxEdit,其中包含多个选定项绑定到总雇员集合(活动+非活动雇员)。但是我只需要在下拉列表中显示活跃的员工即可。

我尝试对popupOpening事件进行过滤(更新),该事件在下拉列表中显示了活动的员工,但是问题是,如果InActive已经被选中,它会从组合框中清除,因为更改了项目来源。

private void CbCraneOps_PopupOpening(object sender, OpenPopupEventArgs e) 
{ 
  var combo = sender as ComboBoxEdit; 
  var item = combo.ItemsSource as IEnumerable<Client.LaborMgmtSystem.RosterEntry>; 
  var items = item.Where(r => r.IsActive == true);     
  this.cbCraneOps.ItemsSource = items; 
}

请对此提供一些线索。 预先感谢。

1 个答案:

答案 0 :(得分:0)

ComboBoxEdit我假设您正在使用devexpress控件。 如果是,则存在一个FilterCriteria选项。 像这样的东西会起作用more here

combo.FilterCriteria = CriteriaOperator.Parse("IsActive=true");