如何在下拉列表中仅显示活动项目,同时在关闭下拉菜单时继续显示不活动项目

时间:2019-06-21 22:05:54

标签: c# wpf mvvm datagrid datagridcomboboxcolumn

我在数据网格中有一个不起眼的组合框:

<DataGridComboBoxColumn
    DisplayMemberPath="Disposition"
    Header="Disposition"
    ItemsSource="{Binding Data.Dispositions, Source={StaticResource proxy}}"
    SelectedValueBinding="{Binding DispositionID}"
    SelectedValuePath="DispositionID" />

我想在数据网格中显示所有可能的描述,同时将用户单击控件时打开的下拉列表限制为“活动”字段为true的那些项。

我该怎么做?

Data.Dispositions包含以下DTO的集合:

public class Disposition
{
    public int DispositionID { get; set; }
    public string Disposition { get; set; }
    public bool Active { get; set; }
}

我看过this post,但是它不适用于数据网格。 ItemsSource必须以某种方式进行动态操作。

注意:StaticResource proxy看起来像这样:

<DataGrid.Resources>
    <!--  http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/  -->
    <helpers:BindingProxy x:Key="proxy" Data="{Binding}" />
</DataGrid.Resources>

0 个答案:

没有答案