DataGrid
のDataGridComboBoxColumnにstatusという文字列のリストの値を設定したいとします。 XAMLは、このDataGridComboBoxColumnは値のリストを表示しません
<DataGridComboBoxColumn Header="Status" >
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
</DataGridComboBoxColumn>
のように見えます
文字列のためのコードは、グリッドデータは、クラスのオブジェクトのリストである、単純なジェネリックリスト
var lstStrings = new List<string>();
lstStrings.Add("New");
lstStrings.Add("Open");
lstStrings.Add("ReOpen");
lstStrings.Add("Closed");
DataGridComboBoxColumn cmbx = grdComments.Columns[1] as DataGridComboBoxColumn;
cmbx.ItemsSource = lstStrings;
です。問題は、グリッドデータのステータス列の値がデフォルトで空白(既に保存されている値を表示していない)です。セルをクリックすると値とともにコンボが表示されますが、値を選択すると表示されません。
私の説明が十分明確であることを願っています。
この質問の可能なダナリスト:http://stackoverflow.com/q/8346869/920384 – punker76
この例ではコードはありませんので、xamlだけでドットを接続することはできません – CodeMe
もっとコードを見ずには分かりませんあなたの 'MyClass.Status'が文字列でないか、バインディングが正しくないと推測しています。どの時点でComboBoxがDataItemにバインドされていますか? XAMLではどこにも表示されません。あなたはそれをItemsSourceで満たしていますか?私はあなたが 'ItemsSource'のバインディングを持っているので混乱しています。コードビハインドでそれを設定しているようです。 – Rachel