[C#/WPF] DataGrid 엘리먼트 : SelectionChanged/SelectedCellsChanged 이벤트를 사용해 셀 선택 변경시 처리하기
C#/WPF 2020. 9. 17. 20:49728x90
반응형
728x170
■ DataGrid 엘리먼트의 SelectionChanged/SelectedCellsChanged 이벤트를 사용해 셀 선택 변경시 처리하는 방법을 보여준다.
▶ MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="DataGrid 엘리먼트 : SelectionChanged/SelectedCellsChanged 이벤트를 사용해 셀 선택 변경시 처리하기"
FontFamily="나눔고딕코딩"
FontSize="16">
<Grid>
<DataGrid Name="dataGrid"
SelectionUnit="FullRow" />
</Grid>
</Window>
▶ MainWindow.xaml.cs
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Controls;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
ObservableCollection<Animal> collection = new ObservableCollection<Animal>();
collection.Add(new Animal("Dog" , "Mammal" , false));
collection.Add(new Animal("Cat" , "Mammal" , false));
collection.Add(new Animal("Horse" , "Mammal" , false));
collection.Add(new Animal("Tyrannosaurus rex", "Reptile", true ));
collection.Add(new Animal("Salmon" , "Fish" , false));
this.dataGrid.ItemsSource = collection;
this.dataGrid.SelectionChanged += dataGrid_SelectionChanged;
this.dataGrid.SelectedCellsChanged += dataGrid_SelectedCellsChanged;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 데이터 그리드 선택 변경시 처리하기 - dataGrid_SelectionChanged(sender, e)
/// <summary>
/// 데이터 그리드 선택 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageBox.Show("선택이 변경되었습니다.");
}
#endregion
#region 데이터 그리드 선택 셀 변경시 처리하기 - dataGrid_SelectedCellsChanged(sender, e)
/// <summary>
/// 데이터 그리드 선택 셀 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void dataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
MessageBox.Show("선택 셀이 변경되었습니다.");
}
#endregion
}
}
※ DataGrid 엘리먼트의 SelectionUnit 속성 값이 FullRow인 경우만 SelectionChanged/SelectedCellsChanged 이벤트가 모두 발생했으나 나머지 값은 SelectedCellsChanged 이벤트만 발생한다.
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Binding 태그 확장 : StringFormat 속성을 사용해 문자열 포맷 설정하기 (0) | 2020.09.18 |
---|---|
[C#/WPF] EventTrigger 엘리먼트 : CallMethodAction 객체를 사용해 객체 메소드 실행하기 (0) | 2020.09.18 |
[C#/WPF] DataGridColumnHeader 엘리먼트 : ContextMenu 속성을 사용해 컬럼 헤더 컨텍스트 메뉴 실행하기 (0) | 2020.09.18 |
[C#/WPF] DataGrid 엘리먼트 : FrozenColumnCount 속성을 사용해 컬럼 고정하기 (0) | 2020.09.17 |
[C#/WPF] DataGridCheckBoxColumn 엘리먼트 : IsThreeState 속성 사용하기 (0) | 2020.09.17 |
[C#/WPF] DataGrid 엘리먼트 : AutoGeneratingColumn 이벤트를 사용해 자동 생성 컬럼 설정하기 (0) | 2020.09.17 |
[C#/WPF] DataGrid 엘리먼트 : CellStyle 속성을 사용해 셀 스타일 설정하기 (0) | 2020.09.17 |
[C#/WPF] DataGridColumn 엘리먼트 : HeaderStyle 속성을 사용해 컬럼 헤더 스타일 설정하기 (0) | 2020.09.17 |
[C#/WPF] DataGrid 엘리먼트 : ColumnHeaderStyle 속성을 사용해 컬럼 헤더 스타일 설정하기 (0) | 2020.09.17 |
[C#/WPF] DataGrid 엘리먼트 : RowHeaderStyle 속성을 사용해 행 헤더 스타일 설정하기 (0) | 2020.09.17 |
댓글을 달아 주세요