我有一个简单的数据网格,里面有一个组合框:
<DataGrid AutoGenerateColumns="False" CanUserSortColumns="False" x:Name="DataGridassemble" ItemsSource="{Binding Cicli_ops}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Prodotto" x:Name="tipo_prodotto" ItemsSource="{Binding}" SelectedItemBinding="{Binding tipo_prodotto}" Width="150"></DataGridComboBoxColumn></DataGrid.Columns>
组合框有4个值,由列表填充:
public ObservableCollection<Cicli_operazioni> Cicli_ops { get; set; }
//code etc
lista_prodotti.Add("cerchio");
lista_prodotti.Add("triangolo");
lista_prodotti.Add("quadrato");
lista_prodotti.Add("stella");
tipo_prodotto.ItemsSource = lista_prodotti;
//Cicli_operazioni class:
public class Cicli_operazioni
{
public string Tipo_prodotto {get;set;}
}
一切正常,combobox正确绑定,显示值等。但是我想在datagrid中添加一些默认行,显示几行以使用户更轻松。所以我试着:
Cicli_ops.Add(Tipo_prodotto= "cerchio");
但该元素是一个组合框,因此给我一个错误,我无法将字符串转换为datagridcomboboxcolumn,而且我真的不知道如何告诉它从中选择一个项目。
对不起,我自己解决了。
Cicli_ops.Add(new Cicli_operazioni { Tipo_prodotto="cerchio" });
Tipo_prodotto是一个字符串,xaml变为
<DataGridComboBoxColumn Header="Prodotto" x:Name="tipo_prodotto" ItemsSource="{Binding}" SelectedItemBinding="{Binding Tipo_prodotto}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句