2012-05-09 37 views
0

我有一个用户控件,它绑定了一个DataGrid,用于一个可观察的项目和两个按钮的集合:保存更改并放弃更改。当datagrid处于编辑模式时禁用按钮

我的问题是,当用户正在编辑datagridrow按钮保持点击,但不会执行。

有没有办法在DataGrid处于编辑模式时禁用按钮?

我想这个代码没有成功:

<Button Content="SaveChanges" Command="{Binding Path=CmdSaveChanges}" 
       IsEnabled="{Binding ElementName=MyDataGrid, Path=IsEditing, Converter={StaticResource InverseBooleanConverter}}" /> 
+0

为什么要为'IsEnabled'属性使用'InverseBooleanToVisibilityConverter'? 'IsEnabled'是'bool',而'Visibility'是'enum'。你在VS输出窗口中看到任何绑定错误消息吗? – Clemens

+0

而DataGrid也没有'IsEditing'属性。 – Clemens

回答

1

您绑定到一个名为MyDataGrid元素这大概是一个DataGrid的IsEditing财产。但是,DataGrid没有这样的属性。

虽然DataGridCell有一个IsEditing属性,但没有简单的方法来获取当前编辑的单元格。 DataGrid.CurrentCell不会给你DataGridCell,但只有一个DataGridCellInfo

您可能更擅长将处理程序附加到DataGrid的BeginningEditCellEditEnding事件。

+0

谢谢,它工作。不过,我期待一个解决方案,因为我遵循MVVM模式,因此不需要任何代码。 –

相关问题