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