wpf datagrid введите для редактирования - PullRequest
2 голосов
/ 14 июня 2011

Надеюсь, это просто.У меня есть сетка данных в приложении wpf.один из столбцов является столбцом флажка.пользователь может установить флажок, только если ячейка уже выбрана.Таким образом, чтобы установить флажок, пользователь должен дважды щелкнуть мышью, один раз для выбора, затем еще раз, чтобы установить флажок.Я хочу, чтобы пользователь мог установить флажок одним щелчком мыши.Я не мог найти какие-либо очевидные свойства, чтобы это произошло.Каков наилучший способ сделать это?

1 Ответ

2 голосов
/ 19 октября 2011

Другие ответы см. в этом посте , но ответ, который мне понравился, был в самом низу, поэтому я повторю его здесь более подробно

Этот ответ был: не используйте DataGridCheckBoxColumn.Больше не нужно просто ставить флажок в столбце DataGridTemplate.Когда вы делаете это, он реагирует на один щелчок точно так, как вы хотите.В приведенном ниже примере IsSelected - это просто пользовательское свойство bool в моей ViewModel, все остальное - чистый xaml.

<DataGridTemplateColumn>
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
        <CheckBox  IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" />
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
...