我在数据网格中有一个不起眼的组合框:
<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>