代码之家  ›  专栏  ›  技术社区  ›  Robert Harvey

如何在下拉列表中仅显示活动项,而在关闭下拉列表时继续显示非活动项

  •  0
  • Robert Harvey  · 技术社区  · 7 年前

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

    <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 回复  |  直到 7 年前