1

データグリッド内にコンボボックスを生成し、選択したアイテムをバインドする必要があります。辞書を使用してデータグリッドをバインドしています。値はバインドされていますが、選択されたアイテムではありません。これが私のコードです!

        private DataGridTemplateColumn CreateColumnEditTemplate(string fieldName, ObservableCollection<CommonFieldValue> fieldNames)
        {
        DataGridTemplateColumn outData = new DataGridTemplateColumn();
        StringBuilder xamlData = new StringBuilder();
        xamlData.Append("<DataTemplate ");
        xamlData.Append("xmlns='http://schemas.microsoft.com/winfx/");
        xamlData.Append("2006/xaml/presentation' ");
        xamlData.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' ");
        xamlData.Append("xmlns:basics='clr-namespace:System.Windows.Controls;");
        xamlData.Append("assembly=System.Windows.Controls' >");
        xamlData.Append("<ComboBox SelectedItem='{Binding " + fieldName +                 ",Mode=TwoWay}' SelectedValuePath=\"Content\" >");
    foreach (var field in fieldNames)
        xamlData.Append("<ComboBoxItem Content='" + field.FieldValue + "'/>");
        xamlData.Append("</ComboBox> ");
        xamlData.Append("</DataTemplate>");
        outData.CellEditingTemplate =   (DataTemplate)System.Windows.Markup.XamlReader.Load(xamlData.ToString());
    return outData;
        }

テンプレート列を作成し、データテンプレートを追加しています。

4

0 に答える 0