Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGrid中的WPF组合框动态绑定到DataTable_C#_Wpf_Vb.net_Combobox - Fatal编程技术网

C# DataGrid中的WPF组合框动态绑定到DataTable

C# DataGrid中的WPF组合框动态绑定到DataTable,c#,wpf,vb.net,combobox,C#,Wpf,Vb.net,Combobox,我正在用VB.net处理一个WPF项目,对于一个特定的部分,我需要显示一个可编辑的MySQL表(至少有一些字段是可编辑的) 现在我通过将MySQL数据库中的数据加载到DataTable中实现了这一点,DataGrid从中提取其所有值。此DataGrid中的一列是具有4个默认选项的组合框,但我无法使此组合框中的选定值链接到datatable(通过将绑定设置为datatable中的列的名称,其他字段工作正常)。' 这是组合框的当前XAML代码 <DataGridTemplateColumn H

我正在用VB.net处理一个WPF项目,对于一个特定的部分,我需要显示一个可编辑的MySQL表(至少有一些字段是可编辑的)

现在我通过将MySQL数据库中的数据加载到DataTable中实现了这一点,DataGrid从中提取其所有值。此DataGrid中的一列是具有4个默认选项的组合框,但我无法使此组合框中的选定值链接到datatable(通过将绑定设置为datatable中的列的名称,其他字段工作正常)。'

这是组合框的当前XAML代码

<DataGridTemplateColumn Header="Status" CellStyle="{StaticResource DataGridComboBox}">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <ComboBox Margin="2" SelectedValue="{Binding XPath=item_status}">
                <ComboBoxItem Name="not_approved">Not Approved</ComboBoxItem>
                <ComboBoxItem Name="on_hold">On Hold</ComboBoxItem>
                <ComboBoxItem Name="approved">Approved</ComboBoxItem>
                <ComboBoxItem Name="ad_hoc">Ad Hoc</ComboBoxItem>
            </ComboBox>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

未批准
暂停
经核准的
临时的
我试图通过设置SelectedValue将数据网格中的值绑定到组合框,但这不起作用


如果查看屏幕截图,可以在第二列(状态)中看到组合框。如前所述,所有其他字段直接来自DataTable。在DataTable中,此列中第一行的值未被批准,现在我手动选择了它,但通常情况下这会自动加载。

您可以使用
DataGridComboxColumn
并将ItemsSource属性设置为字符串集合(“未批准”、“保留”等)

谢谢,但是,如何使用VB.net以编程方式设置ItemsSource?我不建议在代码隐藏中构造视图。您应该像上面那样在xaml中声明一个
,然后为该列设置
ItemsSource
属性