2012-05-09 38 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模式,因此不需要任何代碼。 –

相關問題