C# 从listview-c中的组合框获取数据#

C# 从listview-c中的组合框获取数据#,c#,wpf,listview,foreach,combobox,C#,Wpf,Listview,Foreach,Combobox,我想从listbox中的combobox中获取所选项目,并从WPF中的listview中获取列中的id,使用foreach: 此代码用于生成我的组合框项: using System.Collections.ObjectModel; using System.ComponentModel; namespace ICF_Form { public enum EnumLimitation { Aucune, Légère, Modéré

我想从listbox中的combobox中获取所选项目,并从WPF中的listview中获取列中的id,使用foreach:

此代码用于生成我的组合框项:

using System.Collections.ObjectModel;
using System.ComponentModel;

namespace ICF_Form
{
    public enum EnumLimitation
    {
        Aucune,
        Légère,
        Modérée,
        Forte,
        Totale
    }

    public class Limitation : INotifyPropertyChanged
    {
        public int _id { get; set; }

        private EnumLimitation _enumLimitation = EnumLimitation.Modérée;
        public EnumLimitation _limitation
        {
            get { return _enumLimitation; }
            set
            {
                _enumLimitation = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("Limitation"));
            }
        }
        public Limitation() { }
        public Limitation(int id = 0)
        {
            _id = id;
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }

    public class Limitations : ObservableCollection<Limitation>
    {
        public override string ToString()
        {
            string s = "";
            foreach (var item in this)
            {
                s += item.ToString() + "\n";
            }
            return s;
        }
    }
}
using System;
using System.Windows.Data;
using System.Xml;

namespace ICF_Form
{
    class XConverter : IValueConverter
    {
        /// <summary>
        /// Construction du converter
        /// </summary>
        /// <param name="value"></param>
        /// <param name="targetType"></param>
        /// <param name="parameter"></param>
        /// <param name="culture"></param>
        /// <returns></returns>
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string s = null;
            if (value is XmlElement)
                s = (value as XmlElement).InnerText;
            if (value is string)
                s = (string)value;
            if (s != null)
                return Enum.Parse(typeof(EnumLimitation), s);
            return null;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return value;
        }
    }
}
  <Window.Resources>
            <local:XConverter x:Key="xc" />
            <ObjectDataProvider x:Key="limitFromEnum"
                                MethodName="GetValues"
                                ObjectType="{x:Type System:Enum}">
                <ObjectDataProvider.MethodParameters>
                    <x:Type TypeName="local:EnumLimitation" />
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
        </Window.Resources>

This ListView exist for show my ID/Combobox. 
    <ListView ItemsSource="{Binding Source={StaticResource XmlData},XPath=Limits/*}" Name="MyListView" Grid.Row="2">
                    <ListView.ItemContainerStyle>
                        <Style TargetType="ListViewItem">
                            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                        </Style>
                    </ListView.ItemContainerStyle>
                    <ListView.View>
                        <GridView>
                            <GridViewColumn Header="ID" Width="80">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <Label Content="{Binding XPath=Id}" x:Name="MyID"  />
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <GridViewColumn Header="Limitation" Width="300">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <StackPanel>
                                            <ComboBox Name="LimitCombobox"
                                                  Width="100"
                                                  ItemsSource="{Binding Source={StaticResource limitFromEnum}}"
                                                  SelectedValue="{Binding XPath=Limitation, Converter={StaticResource xc}}">
                                            </ComboBox>
                                        </StackPanel>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                        </GridView>
                    </ListView.View>
                </ListView>
foreach(var limits in MyListView.Items)
            {
                var id = MyListView.SelectedItems[0].ToString();
                Console.WriteLine(id);
            }