я новый в wpf.Я могу ввести текст в ComboBox, но не отображать текст.и Как получить значение DataGridComboBoxColumn WPF?
снимок экрана:
после вкладки в столбце блока, после чего DataGridComboBoxColumn выбранный элемент пуст
Код 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>
c # Код здесь:
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;
}
}
как решить этот DataGridComboBoxColumn WPF