2011-06-13 89 views
2

我希望这是一个简单的。我有一个wpf应用程序中的数据网格。其中一列是复选框列。如果单元格已被选中,用户只能选中复选框。所以实际上检查用户必须双击的任何框,一次选择,然后再一次检查框。我希望用户只需点击一下鼠标就能检查框。我找不到任何明显的属性来实现这一点。做这件事的最好方法是什么?wpf datagrid进入编辑

+0

可能的重复http://stackoverflow.com/questions/3426765/single-click-edit-in-wpf-datagrid – 2011-06-13 21:58:05

回答

2

对于其他答案请参阅this SO post但我喜欢的答案是在底部的方式,所以我会在这里重复一些更多的细节。

答案是:不要使用DataGridCheckBoxColumn。将复选框放入DataGridTemplate列几乎没有更多的工作要做。当你这样做时,它就像你想要的一样响应一次单击。在下面的例子中,IsSelected只是我的ViewModel上的一个自定义布尔属性,其他的都是纯xaml。

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