2016-07-09 2 views
1

データグリッドコンボボックスに行を追加します。C#のは、内部のコンボボックスで、私は、単純なデータグリッドを持って

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

すべての作品をコンボボックスが正しくバインドされていて、値が表示されています。 しかし、データグリッドにいくつかのデフォルト行を追加して、ユーザーにとって使いやすくするためにいくつかの行を表示したいとしました。だから私は試してみました:

Cicli_ops.Add(Tipo_prodotto= "cerchio"); 

が、それは私がdatagridcomboboxcolumnに文字列を変換カント言って私にエラーを与えるように、要素はコンボボックスで、と私は本当にそれから項目を選択するよう指示する方法を知りません。

答えて

0

ご自身で解決しました。

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}" 
となると
関連する問題