2012-05-09 2 views
0

DataGrid를 사용하여 항목의 관찰 가능 컬렉션에 바인드 된 사용자 정의 컨트롤과 변경 내용 저장 및 취소 버튼이 있습니다.DataGrid가 편집 모드에있을 때 버튼을 사용하지 않음

내 문제는 사용자가 데이터 격자를 편집 할 때 버튼을 클릭 할 수 있지만 실행되지 않는다는 것입니다.

DataGrid가 편집 모드 일 때 버튼을 비활성화하는 방법이 있습니까? 당신은 아마도 데이터 그리드입니다 MyDataGrid라는 요소의 IsEditing 속성에 바인딩

<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

:

나는 성공없이이 코드를 시도했다. 그러나 DataGrid에는 이러한 속성이 없습니다.

DataGridCell에는 IsEditing 속성이 있지만 현재 편집중인 셀을 쉽게 가져올 수있는 방법이 없습니다. DataGrid.CurrentCell은 DataGridCell을 제공하지 않지만 DataGridCellInfo 만 제공합니다.

DataGrid의 BeginningEditCellEditEnding 이벤트에 핸들러를 연결하는 것이 좋습니다.

+0

감사합니다. 그러나 MVVM 패턴을 따라갈 때 코드가 필요없는 솔루션이 필요했습니다. –

관련 문제