C# 使用组合框组中的selecteditems填充列表

C# 使用组合框组中的selecteditems填充列表,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我在一个容器中循环一组组合框,我想用组合框中的选定项填充一个列表。如何填充列表 List<Item> items = new List<Item>(); foreach (var Cbox in CBoxContainer.Children.OfType<ComboBox>()) { if (Cbox.SelectedItem != null) { } } List items=newlist(); foreach(CBoxCon

我在一个容器中循环一组组合框,我想用组合框中的选定项填充一个列表。如何填充列表

List<Item> items = new List<Item>();

foreach (var Cbox in CBoxContainer.Children.OfType<ComboBox>())
{
    if (Cbox.SelectedItem != null)
    {

    }
}
List items=newlist();
foreach(CBoxContainer.Children.OfType()中的变量Cbox)
{
如果(Cbox.SelectedItem!=null)
{
}
}
我想您已经创建了一个名为
Item
的类,并将ValueMemberPath和DisplayMemberPath指定为
Item
类的一些属性

myfirstcombobox.ValueMemberPath = "firstpropertyofItemclass"
myfirstcombobox.DisplayMemberPath = "secondpropertyofItemclass"
我得出这个结论是因为你正在创建的列表

List<Item> items = new List<Item>();
List items=newlist();

我想您只需要一个函数就可以将CBox.SelectedItem转换为Item,并将其添加到列表中

Item ConvertToItem(Object obj)
{
  ....
}

foreach (var Cbox in CBoxContainer.Children.OfType<ComboBox>())
{
  if (Cbox.SelectedItem != null)
  {
   items.Add(ConvertToItem(CBox.SelectedItem));
  }
}
项转换项(对象对象对象)
{
....
}
foreach(CBoxContainer.Children.OfType()中的变量Cbox)
{
如果(Cbox.SelectedItem!=null)
{
添加(ConvertToItem(CBox.SelectedItem));
}
}

毫无疑问。。。
Item ConvertToItem(Object obj)
{
  ....
}

foreach (var Cbox in CBoxContainer.Children.OfType<ComboBox>())
{
  if (Cbox.SelectedItem != null)
  {
   items.Add(ConvertToItem(CBox.SelectedItem));
  }
}