C# 如何将xml绑定到datagrid combobox

C# 如何将xml绑定到datagrid combobox,c#,xml,wpf,combobox,datagrid,C#,Xml,Wpf,Combobox,Datagrid,我有一个wpf项目,用于将xml绑定到datagrid,如下所示: <DataGrid Name="dgCommunication" ItemsSource="{Binding CommunicationsView}" FontSize="14" CanUserResizeColumns="False" BorderThickness="5" AutoGenerateColumns="False" Margin="10,10,10,15" Background="White">

我有一个wpf项目,用于将xml绑定到datagrid,如下所示:

<DataGrid Name="dgCommunication" ItemsSource="{Binding CommunicationsView}" FontSize="14" CanUserResizeColumns="False" BorderThickness="5" AutoGenerateColumns="False" Margin="10,10,10,15" Background="White">
    <DataGrid.Columns>
         <DataGridTextColumn Header="ParamName" Binding="{Binding ParamName}" IsReadOnly="True"/>
         <DataGridTextColumn Header="ParamValue" Binding="{Binding ParamValues, Mode=TwoWay}" />
         <DataGridTextColumn Header="DefaultValue" Binding="{Binding DefaultValue}" IsReadOnly="True"/>
         <DataGridTextColumn Header="MaxValue" Binding="{Binding MaxValue}" IsReadOnly="True"/>
         <DataGridTextColumn Header="MinValue" Binding="{Binding MinValue}" IsReadOnly="True"/>
    </DataGrid.Columns>
</DataGrid>

我该怎么做才能做到这一点?提前谢谢

如果将参数值保存为列表并使用

通过使用MVVM模型,XML文档将成为数据库,您必须使用logik构建一个模型来构建对象。 Viewmodel将使用Modeldata,如果我认为正确的话,您可以使用对ParamValues的绑定

 <DataGridComboBoxColumn Header="Values" ItemsSource="{Binding ParamValues, Mode=TwoWay}" SelectedItemBinding="{Binding SelectedParamValue, Mode=TwoWay}"/>


参见codeproject:文章包括所有源代码。这篇文章本身只是对包含的源代码的一个解释摘要。它是关于winform的,我的项目是WPF。这篇文章的开头是:我需要在我的DataGrid中有一个ComboBox。
<NewDataSet>
    <Communications>
        <ModelNumber>0x01</ModelNumber>
        <ParamName>BaudRate</ParamName>
        <ParamValues>
            <ParamValue>9600</ParamValue>
            <ParamValue>19200</ParamValue>
            <ParamValue>115200</ParamValue>
        </ParamValues>
        <DefaultValue>502</DefaultValue>
        <MaxValue></MaxValue>
        <MinValue></MinValue>
    </Communications>
</NewDataSet>
 <DataGridComboBoxColumn Header="Values" ItemsSource="{Binding ParamValues, Mode=TwoWay}" SelectedItemBinding="{Binding SelectedParamValue, Mode=TwoWay}"/>