2016-07-09 8 views
1

ich eine einfache Datenraster haben, mit einer Combobox innen:C# hinzufügen Zeile zu einem Datagrid Combobox

<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> 

die Combobox hat 4 Werte, gefolgt von einer Liste bevölkert:

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;} 
} 

alles funktioniert , die Combobox ist korrekt gebunden, der Wert wird angezeigt usw. Aber ich wollte ein paar Standardzeilen im Datagrid hinzufügen, die ein paar Zeilen zeigen, um es für den Benutzer einfacher zu machen. Also habe ich versucht:

Cicli_ops.Add(Tipo_prodotto= "cerchio"); 

aber das Element ist eine Combobox, so dass es mir einen Fehler gibt sagen, ich eine Zeichenfolge in ein datagridcomboboxcolumn konvertieren kann nicht, und ich weiß wirklich nicht, wie es zu sagen, ein Element aus, um sie auszuwählen.

Antwort

0

von mir selbst gelöst, sorry.

Cicli_ops.Add(new Cicli_operazioni { Tipo_prodotto="cerchio" }); 

mit Tipo_prodotto ein String ist und der XAML wird

<DataGridComboBoxColumn Header="Prodotto" x:Name="tipo_prodotto" ItemsSource="{Binding}" SelectedItemBinding="{Binding Tipo_prodotto}"