У меня есть неприметное комбинированное окно в сетке данных:
<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; }
}
Я просмотрел этот пост , но он не будет работать в сетке данных. 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>