我正在使用 Telerik 组合框,但我认为这个问题与标准 wpf 组合框有关。该控件绑定到“TableRecord”的可观察集合,该对象如下所示:
public enum RecordState
{
Orginal, Added, Modified, Deleted
}
public class TableRecord<T>
{
public Guid Id { get; set; }
public string DisplayName { get; set; }
public T Record { get; set; }
public RecordState State { get; set; }
public TableRecord(Guid id, string displayName, T record, RecordState state)
{
Id = id;
DisplayName = displayName;
Record = record;
State = state;
}
}
这些“TableRecords”是这样保存和公开的:
private ObservableCollection<TableRecord<T>> _recordCollection = new ObservableCollection<TableRecord<T>>();
public ObservableCollection<TableRecord<T>> Commands
{
get
{
return _recordCollection;
}
}
我的 xml 看起来像这样:
<telerik:RadComboBox ItemsSource="{Binding Commands}" DisplayMemberPath="DisplayName" SelectedValuePath="Id" Height="22" SelectedItem="{Binding SelectedCommand, Mode=TwoWay}" />
我想要做的是更改 xaml(如果可能),以便它显示集合中的所有项目,除了“状态”值设置为“已删除”的项目。
我有一个想法,我可以使用数据触发器来做到这一点,因为我过去曾使用它们来根据内容设置文本颜色,但不确定我是否可以按照我需要的方式进行过滤。