C# WPF组合框仅显示一些项目

C# WPF组合框仅显示一些项目,c#,wpf,xaml,C#,Wpf,Xaml,因此,我有一个WPF应用程序(带有MVVM),在这个程序中,我有一个组合框,它绑定到数据库中的一个表并显示值,这很好 但是,现在我想创建一个新的组合框并将其绑定到同一个表,但现在我只希望它显示一些值。有没有一个简单的方法可以做到这一点 这个表有四个条目,但我只想在这个新的组合框中显示其中的三个条目 我知道我可以在数据库中创建一个要绑定的新表,但我可能必须使用几个组合框(具有不同的值),如果可以避免的话,我宁愿不经历所有这些麻烦 XAML: 实现这一点的方法是,针对绑定ItemsSource的属性

因此,我有一个WPF应用程序(带有MVVM),在这个程序中,我有一个组合框,它绑定到数据库中的一个表并显示值,这很好

但是,现在我想创建一个新的组合框并将其绑定到同一个表,但现在我只希望它显示一些值。有没有一个简单的方法可以做到这一点

这个表有四个条目,但我只想在这个新的组合框中显示其中的三个条目

我知道我可以在数据库中创建一个要绑定的新表,但我可能必须使用几个组合框(具有不同的值),如果可以避免的话,我宁愿不经历所有这些麻烦

XAML:


实现这一点的方法是,针对绑定ItemsSource的属性筛选出不希望在getter中显示的项:

XAML:


在您的ViewModel中:

public IEnumerable<ComponentLookupDto> SelectedComponentLookupOther
{
    get { return _selectedComponentLookup.Where(c => c.SomeProperty == "however you want to pick it out"); }
}
public IEnumerable selectedComponent查找其他
{
获取{return{u selectedComponentLookup.Where(c=>c.SomeProperty==“不管你想怎么挑选”);}
}
private IEnumerable<ComponentLookupDto> _selectedComponentLookup;
    public IEnumerable<ComponentLookupDto> SelectedComponentLookup
    {
        get { return _selectedComponentLookup; }
        set
        {
            _selectedComponentLookup = value;
        }
    }
public class ComponentLookupDto
{
    public int ComponentLookupId { get; set; }
    public string ComponentChoice { get; set; }
}
<ComboBox ItemsSource={Binding SelectedComponentLookupOther} ... />
public IEnumerable<ComponentLookupDto> SelectedComponentLookupOther
{
    get { return _selectedComponentLookup.Where(c => c.SomeProperty == "however you want to pick it out"); }
}