我希望这是一个简单的问题。我在wpf应用程序中有一个datagrid。其中一列是复选框列。如果已选择单元格,则用户只能选中该复选框。所以实际上要检查用户必须双击的任何一个框,一次选择,然后再次选中复选框。我希望用户只需单击一下即可选中方框。我找不到任何明显的属性来实现这一点。这样做最好的方法是什么?
答案 0 :(得分:2)
对于其他答案,请参阅this SO post,但我喜欢的答案是在底部,所以我将在这里重复一些细节。
答案是:不要使用DataGridCheckBoxColumn。将Checkbox放在DataGridTemplate列中几乎不再需要工作。执行此操作时,它会完全按照您的要求响应单击。在下面的示例中,IsSelected只是我的ViewModel上的自定义bool属性,其他所有内容都是纯xaml。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>