MVVM패턴에서 View에서 발생한 DataGrid의 더블클릭 이벤트를 DataGrid.InputBindings으로 받을 수 있습니다. 하지만 더블클릭 이벤트의 발생만 알 수 있고 선택한 DataGridRow를 ViewModel로 전달할 수는 없습니다. 더블클릭 시 선택한 DataGridRow를 ViewModel에 전달하는 예제코드입니다. ✅ Behavior를 사용한 DataGrid 더블 클릭 이벤트 NuGet 패키지 관리자를 사용하여 Microsoft.Xaml.Behaviors.Wpf 패키지를 프로젝트에 추가해야 합니다. UIHelper.cs namespace MVVM { public static class UIHelpers { public static T TryFindParent(DependencyO..
DataGrid
DataGrid의 더블 클릭 이벤트를 ViewModel 에서 처리하는 방법입니다. codebehind에서는 간단하게 구현할 수 있지만 MVVM 패턴에서는 DataGrid의 DataGrid.InputBindings 속성을 사용해야 합니다. Gesture 속성에 이벤트를 설정하고 Command 에는 이벤트를 받을 ViewModel의 Command를 Binding 합니다. ✅ MVVM 패턴에서 DataGrid의 더블 클릭 이벤트 View Gesture의 LeftDoubleClick 이벤트가 발생 시 Command 에 Binding 되어있는 SelectedItemChangedCommand 가 호출됩니다. ViewModel private RelayCommand _selectedItemChangedCommand; ..
AlternationCount, AlternatingRowBackground 속성을 사용한 방식은 두 가지 색만 지정할 수 있습니다. 사실 두 가지 색으로도 행 간 구별은 충분하지만 좀 더 다채롭게 꾸미고 싶을 경우 AlternationCount와 DataGrid.RowStyle 사용하여 다양한 배경색을 적용할 수 있습니다. ✅ DataGrid.RowStyle 배경색 지정하기 xaml DataGrid.AlternationIndex 는 교대로 반복되는 행의 index입니다. DataGrid.RowStyle 에 DataGrid.AlternationIndex 가 0, 1, 2,... 의 값일 경우에 배경색을 변경하도록 Style을 작성합니다. AlternationCount = 4 라면 [0, 1, 2, 3] ..
AlternationCount 속성을 사용하여 DataGrid의 Rows에 교대로 반복되는 배경색을 설정할 수 있습니다. 사용하는 속성은 DataGrid의 AlternatingRowBackground, AlternationCount, RowBackground 입니다. ✅ AlternationCount xaml AlternatingRowBackground 속성으로는 두 가지 배경색만 사용이 가능하기 때문에 AlternationCount의 속성에 값을 3 이상은 사용하지 않는 것이 좋습니다. 세 가지 색 이상을 사용하는 방법은 다음 포스팅에서 다루겠습니다. ✅ AlternationCount 속성 - 끝 관련 포스팅 DataGrid: 배경색으로 Row를 구분하는 간단한 방법 #2