Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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# 如何设置DataGridComboxColumn WPF的自动建议?_C#_.net_Wpf_Wpfdatagrid - Fatal编程技术网

C# 如何设置DataGridComboxColumn WPF的自动建议?

C# 如何设置DataGridComboxColumn WPF的自动建议?,c#,.net,wpf,wpfdatagrid,C#,.net,Wpf,Wpfdatagrid,我是wpf的新手。我可以在组合框中键入文本,但不能显示文本。如何获取DataGridComboBoxColumn WPF的值 截图: 在“单位”列中的选项卡之后,然后是DataGridComboxColumn选定项为空 Xmal代码如下: <DataGrid x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" > <DataGrid.Column

我是wpf的新手。我可以在组合框中键入文本,但不能显示文本。如何获取DataGridComboBoxColumn WPF的值

截图:

在“单位”列中的选项卡之后,然后是DataGridComboxColumn选定项为空

Xmal代码如下:

<DataGrid  x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" >
    <DataGrid.Columns>
        <DataGridComboBoxColumn x:Name="list_itemname" Width="*" Header="Item Name"  SelectedItemBinding="{Binding itemlist}">
            <DataGridComboBoxColumn.ElementStyle>
                <Style TargetType="ComboBox">
                    <Setter Property="IsEditable" Value="True"/>
                    <Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
                </Style>
            </DataGridComboBoxColumn.ElementStyle>
            <DataGridComboBoxColumn.EditingElementStyle>
                <Style TargetType="ComboBox">
                    <Setter Property="IsEditable" Value="True"/>
                    <Setter Property="ItemsSource" Value="{Binding Path=itemlist }"  />
                </Style>
            </DataGridComboBoxColumn.EditingElementStyle>
        </DataGridComboBoxColumn>
        <DataGridTextColumn x:Name="item_unit" Binding="{Binding itemunit}"   Width="*" Header="Unit"/>
    </DataGrid.Columns>     
</DataGrid>
public partial class page_addsale : Page
    {

        List<string> itemlist = new List<string>();
        ObservableCollection<Proxy> collection = new ObservableCollection<Proxy>();
        DataTable item_dt = new DataTable();

        public page_addsale()
        {
            InitializeComponent();

            con.Open();
            OleDbDataAdapter ad = new OleDbDataAdapter("select id, item_name from item_list", con);
            ad.Fill(item_dt);
            con.Close();     

        }       
        public class Proxy
        {
            public string itemname { get; set; }
            public string itemunit { get; set; }

        }
        private void add_sale_Loaded(object sender, RoutedEventArgs e)
        {
            tem_list.CanUserAddRows = true;
            item_list.AutoGenerateColumns = false;
            string[] arr_item = item_dt.AsEnumerable().Select<System.Data.DataRow, String>(x => x.Field<String>("item_name")).ToArray();
            itemlist.AddRange(arr_item);
            list_itemname.ItemsSource = itemlist;
            item_list.ItemsSource = collection;            
        }
    }   
c代码如下:

<DataGrid  x:Name="item_list" AutoGenerateColumns="True" Height="410" CanUserResizeColumns="False" >
    <DataGrid.Columns>
        <DataGridComboBoxColumn x:Name="list_itemname" Width="*" Header="Item Name"  SelectedItemBinding="{Binding itemlist}">
            <DataGridComboBoxColumn.ElementStyle>
                <Style TargetType="ComboBox">
                    <Setter Property="IsEditable" Value="True"/>
                    <Setter Property="ItemsSource" Value="{Binding Path=itemlist }" />
                </Style>
            </DataGridComboBoxColumn.ElementStyle>
            <DataGridComboBoxColumn.EditingElementStyle>
                <Style TargetType="ComboBox">
                    <Setter Property="IsEditable" Value="True"/>
                    <Setter Property="ItemsSource" Value="{Binding Path=itemlist }"  />
                </Style>
            </DataGridComboBoxColumn.EditingElementStyle>
        </DataGridComboBoxColumn>
        <DataGridTextColumn x:Name="item_unit" Binding="{Binding itemunit}"   Width="*" Header="Unit"/>
    </DataGrid.Columns>     
</DataGrid>
public partial class page_addsale : Page
    {

        List<string> itemlist = new List<string>();
        ObservableCollection<Proxy> collection = new ObservableCollection<Proxy>();
        DataTable item_dt = new DataTable();

        public page_addsale()
        {
            InitializeComponent();

            con.Open();
            OleDbDataAdapter ad = new OleDbDataAdapter("select id, item_name from item_list", con);
            ad.Fill(item_dt);
            con.Close();     

        }       
        public class Proxy
        {
            public string itemname { get; set; }
            public string itemunit { get; set; }

        }
        private void add_sale_Loaded(object sender, RoutedEventArgs e)
        {
            tem_list.CanUserAddRows = true;
            item_list.AutoGenerateColumns = false;
            string[] arr_item = item_dt.AsEnumerable().Select<System.Data.DataRow, String>(x => x.Field<String>("item_name")).ToArray();
            itemlist.AddRange(arr_item);
            list_itemname.ItemsSource = itemlist;
            item_list.ItemsSource = collection;            
        }
    }   

如何解决此DataGridComboxColumn WPF

可能重复[您是否也可以共享Datagrid XAML?好的编辑XAML代码可能重复[您是否也可以共享Datagrid XAML?好的编辑XAML代码