wpf datagrid(12)
-
[WPF 실무 36편] WPF DataGrid 커스텀 셀 템플릿 (고급 UI 구성 완전 정리)
기본 DataGrid 셀은 단순 텍스트 위주라서실무 UI에서는 부족한 경우가 많습니다.아이콘, 버튼, 상태 표시, 진행률 등셀 내부 UI를 자유롭게 구성하려면DataGridTemplateColumn을 사용해야 합니다.이번 글에서는✔ DataGridTemplateColumn 개념✔ CellTemplate / CellEditingTemplate 차이✔ 실무 UI 구성 패턴✔ 성능/주의사항을 정리합니다.1. DataGridTemplateColumn이란?기본 컬럼:템플릿 컬럼:✔ 셀 내부 UI를 직접 설계 가능2. 기본 사용 예 ✔ 아이콘 + 텍스트 조합3. CellTem..
2026.04.15 -
[WPF 실무 13편] WPF DataGrid 정렬 / 필터 구현 완전 정리 (CollectionView 제대로 쓰는 법)
DataGrid에서 정렬은 되는데 필터는 안 되거나,필터를 구현했더니 원본 데이터가 망가지는 경험을 해본 적 있을 겁니다.WPF에서 정렬과 필터는 직접 리스트를 조작하는 방식이 아니라CollectionView를 통해 처리하는 것이 정석입니다.이 글에서는 DataGrid 정렬과 필터를 실무에서 안전하게 구현하는 방법을 정리합니다.1. 왜 List를 직접 건드리면 안 될까? 잘못된 방식Items = Items.Where(x => x.Age > 30).ToList();문제점원본 데이터 손실필터 해제 어려움정렬 충돌 발생UI 갱신 문제 실무에서는 절대 이렇게 하지 않습니다.2. 정석 방법 — CollectionView 사용using System.ComponentModel;private ICollectionVie..
2026.02.24 -
[WPF 실무 12편] WPF DataGrid 성능 최적화 완전 정리 (대용량 데이터 느려짐 해결)
DataGrid에 데이터가 1,000건 이상만 들어가도 갑자기 느려지는 경험을 해본 적 있을 겁니다.스크롤이 버벅이고, 클릭 반응이 늦고, 심하면 UI가 멈춰 보이기도 합니다.이 글에서는 WPF DataGrid가 느려지는 이유와 실무에서 반드시 적용해야 하는 성능 최적화 방법을 정리합니다.1. 왜 DataGrid는 느려질까?WPF DataGrid는 기본적으로 모든 Row와 Cell을 UI 요소로 생성합니다.데이터 10,000건 = 10,000개의 Row 객체 생성여기에 컬럼이 20개면?→ 200,000개의 Cell UI 생성당연히 무거워질 수밖에 없습니다.2. 가장 중요한 옵션 — 가상화(Virtualization)가상화는 화면에 보이는 Row만 생성하는 기능입니다.반드시 확인해야 할 설정✔ Enable..
2026.02.24 -
[WPF 실무 11편] WPF DataGrid 컬럼 동적 생성 방법 (런타임 컬럼 생성 + 바인딩 완전 정리)
실무에서 DataGrid를 사용하다 보면 컬럼 구조가 고정되어 있지 않은 경우가 많습니다.예: 검사 항목이 동적으로 바뀌는 경우 / DB 컬럼 구조가 가변적인 경우이럴 때 필요한 것이 바로 DataGrid 컬럼 동적 생성입니다.이 글에서는 WPF DataGrid에서 컬럼을 런타임에 생성하는 방법과 실무에서 자주 하는 실수까지 정리합니다.1. 왜 동적 컬럼이 필요한가?다음과 같은 경우에 사용됩니다.✔ 검사 장비 UI (항목 수 가변)✔ 통계 화면 (기간별 컬럼 자동 생성)✔ DB 테이블 뷰어✔ 엑셀 업로드 결과 표시AutoGenerateColumns만으로는 부족한 경우가 많습니다.2. 방법 ① AutoGenerateColumns 사용 (기본 방식)✔ 가장 간단✔ 모델 속성 기반 자동 생성 컬럼 순서 제어 ..
2026.02.24 -
[WPF 실무 7편] WPF DataGrid RowHeader 가운데 정렬 안 되는 이유 + 완벽 해결 방법 (실무 원인 분석)
DataGrid RowHeader를 가운데 정렬하려고HorizontalContentAlignment="Center" 를 줬는데도 적용이 안 되는 경우가 있습니다.이 문제는 단순 스타일 문제가 아니라 WPF ControlTemplate 구조 때문입니다.이 글에서는 왜 안 되는지 내부 원리부터실무에서 바로 해결 가능한 방법까지 정확히 정리합니다.1. 문제 상황 재현보통 아래 코드부터 시도합니다. 결과 정렬 안 됨 여전히 왼쪽 정렬2. 왜 정렬이 안 될까? (진짜 원인)WPF 컨트롤은 다음 순서로 렌더링됩니다.Style → ControlTemplate → ContentPresenter → 실제 UI즉✔ Setter는 Style 단계❗ 정렬은 Template 내부 Con..
2026.02.23 -
[WPF 실무 9편] WPF DataGrid 셀 값에 따라 색상 자동 변경 (조건부 스타일 완전 정리)
실무에서 DataGrid를 사용하다 보면 특정 값일 때 셀 색상을 바꿔야 하는 경우가 매우 많습니다.예: 에러 값 → 빨간색 / 정상 → 초록색 / 대기 → 노란색이 글에서는 WPF DataGrid에서 셀 색상을 값에 따라 자동 변경하는 방법과 실무에서 자주 하는 실수까지 정리합니다.1. 가장 기본적인 방법 — DataTrigger 사용조건부 스타일은 DataTrigger로 구현합니다. ✔ 특정 값일 때만 스타일 적용✔ 코드 없이 XAML만으로 처리 가능2. 배경색 변경 방법 Foreground = 글자 색Background..
2026.02.23