WPF DataGrid,只需单击一下即可编辑ComboBoxes

时间:2018-06-05 12:00:52

标签: c# wpf combobox datagrid

我在wpf中有以下数据网格,其中填充了组合框。 但我必须双击ordere中的每个单元格进行编辑(从Combobox中选择或给出任何字符串)。 我需要能够通过选择单元格来编辑组合框?所以datagrid注意到它并生成新行? 我试过只用

    <DataGridTemplateColumn.CellTemplate>
          <DataTemplate>
               <ComboBox IsEditable="True" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=DataGrid}, Path=DataContext.ColorsList, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Text="{Binding Color}" />
          </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>

允许我只选择单元格来编辑组合框,但数据网格会被告知单元格已被更改,因此它不会生成新行

任何帮助都会很棒,谢谢

<DataGrid  ItemsSource="{Binding Cars, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"  AutoGenerateColumns="False" >
  <DataGrid.Columns>
     <DataGridTemplateColumn Header="Color">
        <DataGridTemplateColumn.CellTemplate>
           <DataTemplate>
              <TextBlock Text="{Binding Color}"/>
           </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
        <DataGridTemplateColumn.CellEditingTemplate>
           <DataTemplate>
             <ComboBox IsEditable="True" ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=DataGrid}, Path=DataContext.ColorsList, UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Text="{Binding Color}" />
          </DataTemplate>
        </DataGridTemplateColumn.CellEditingTemplate>
    </DataGridTemplateColumn> 

0 个答案:

没有答案