“WPF” 태그의 글
“WPF” 태그가 붙은 글 18건을 최신순으로 정리했습니다.
-
Windows 앱의 다크 모드와 대비 테마 대응 ── DWM의 다크 제목 표시줄, WinForms/WPF의 시스템 테마 추종, 고대비일 때의 그리기
Windows 11의 다크 모드와 대비 테마에 WinForms/WPF 앱을 맞추는 방법을 설명합니다. DWM의 다크 제목 표시줄, .NET 9/10의 SetColorMode와 ThemeMode, 테마 전환 감지, 고대비일 때 시스템 색으로 그리는 방법을 정리합니다.
-
Windows 프린터 드라이버 제공 종료 ── 업무 앱의 장표·라벨 인쇄는 어떻게 대비할 것인가
Microsoft는 v3/v4 프린터 드라이버의 제공 종료를 단계적으로 진행하고 있으며, 2026년 7월부터는 IPP 클래스 드라이버가 우선됩니다. Windows protected print mode에서 무엇이 사라지는지, 업무 앱의 장표·라벨 인쇄가 어디에 의존하고 있는지를 점검...
-
「응답 없음」의 정체 ── Windows가 앱을 「멈췄다」고 판단하는 구조와, 멈추지 않는 설계
Windows의 「응답 없음」은 창이 5초 동안 메시지를 꺼내지 않으면 OS가 판단해 고스트 창으로 교체하는 구조입니다. 판단의 내부 동작부터 멈추는 전형적인 원인, UI 스레드에서 무거운 처리를 빼내는 설계, hang 조사 절차까지 설명합니다.
-
클립보드와 드래그 앤 드롭의 구조 ── 업무 앱에서 OLE 데이터 전송을 올바르게 다루기
Excel 표를 붙여 넣으면 서식이 무너지고, 원본을 닫으면 붙여 넣을 수 없다── 원인은 같은 내용을 여러 형식으로 두는 클립보드입니다. 표준 형식·지연 렌더링·OLE 드래그 앤 드롭부터 기록과 클라우드 동기 정책까지 설명합니다.
-
Windows 앱 접근성 입문 ── UI Automation과 합리적 배려 의무화에 대비하기
2024년 4월 시행된 개정 장애인차별해소법을 배경으로, 스크린 리더가 Windows 앱을 읽는 기반 UI Automation을 축으로 WinForms/WPF의 이름 지정, 키보드 조작, 대비, 검증 도구까지 실무 관점에서 정리합니다.
-
WinForms / WPF 앱의 CI/CD 실전 ── GitHub Actions로 빌드부터 서명·배포까지 자동화하기
WinForms / WPF 앱의 CI/CD를 GitHub Actions로 구성하는 실무 가이드입니다. windows-latest에서 빌드+테스트를 돌리는 최소 YAML, 태그 기반 버전 부여, signtool 서명 연동, MSI/MSIX/ClickOnce/xcopy별 CI 통합 판...
-
Windows 앱의 작업 트레이 상주와 토스트 알림 ── NotifyIcon의 함정과 AppNotification 고르는 법
업무용 Windows 앱의 작업 트레이 상주와 토스트 알림 구현을 정리합니다. NotifyIcon의 올바른 사용법, Explorer 재시작 시 재등록, 토스트 API 3종의 선정 판단표, 알림이 도착하지 않는 경우까지 설명합니다.
-
WinForms/WPF 앱의 다국어화 ── resx·satellite assembly·culture 전환의 실무
Windows 데스크톱 앱의 다국어화를 정리합니다. CurrentCulture와 CurrentUICulture의 차이, resx와 satellite assembly의 구조, WPF에서 현실적인 방식 선택, 런타임 언어 전환, 서식·RTL까지 설명합니다.
-
Windows 업무 앱의 인쇄와 PDF 출력 ── System.Drawing.Printing / WPF / 장표 라이브러리 구분
PrintDocument로 하는 WinForms 인쇄, WPF의 FlowDocument/FixedDocument 인쇄, PDF 출력 선택지를 요건별 판단표로 정리합니다. 페이지 나눔 제어, DPI 어긋남, Windows 서비스에서의 인쇄 위험까지 설명합니다.
-
WinForms/WPF 앱에 Entra ID 인증을 넣는 방법 ── MSAL.NET과 WAM 브로커의 실무 구성
WinForms/WPF 데스크톱 앱에 Entra ID 인증을 넣는 절차를 정리합니다. 퍼블릭 클라이언트의 개념, 앱 등록, MSAL.NET의 AcquireTokenSilent, WAM 브로커, 토큰 캐시 영속화까지 설명합니다.
-
Windows 데스크톱 앱의 UI 자동 테스트 ── UI Automation 구조와 FlaUI로 만드는 잘 깨지지 않는 테스트
WinForms/WPF 앱의 UI 자동 테스트를 Windows UI Automation 구조부터 정리합니다. FlaUI 최소 구현, AutomationId 설계와 조건 대기로 잘 깨지지 않게 하는 방법, CI 무인 실행의 함정까지 실무 관점에서 설명합니다.
-
WPF의 고DPI 대응 ── 「DPI에 강해야 하는데」 흐려지고 번지는 원인과 대처
WPF는 System DPI Aware이지만, DPI가 다른 모니터로 옮기면 전체가 번지고 비트맵은 흐려집니다. 원인 분리, Per-Monitor DPI 대응, UseLayoutRounding 등 정석 대처, WindowsFormsHost 혼재의 함정까지 정리합니다.
-
IE모드의 다음은 WebView2로 충분한가 ── ActiveX가 동작하지 않는 제약과 현실적인 전환 설계
WebView2의 기본 구조, Evergreen과 Fixed Version의 배포 전략, 사용자 데이터 폴더의 함정, 네이티브와 Web의 연동 방법, 그리고 「ActiveX는 동작하지 않는다」는 제약을 전제로 한 IE모드 의존 시스템에서의 현실적인 전환 순서를 사내 시스템 관점에서...
-
Windows 앱 외주·수탁 개발을 의뢰하기 전에 정리할 점
Windows 앱 외주·수탁 개발을 의뢰하기 전에, 기존 소프트웨어 수정, 장치 연동, COM/ActiveX, 배포·업데이트, 유지보수를 정리하는 포인트를 설명합니다.
-
WinForms/WPF/WinUI 고르는 법 - 실무 판단표
WinForms, WPF, WinUI 중 무엇을 고를지를 신규 개발, 기존 자산, 배포, UI 표현, 팀 구성 관점에서 정리합니다.
-
.NET 타이머 3종의 용도 구분 - PeriodicTimer/Timer/DispatcherTimer
PeriodicTimer / System.Threading.Timer / DispatcherTimer의 차이와, async 처리, ThreadPool callback, WPF UI 업데이트에서 어떻게 구분할지 정리합니다.
-
.NET Generic Host와 BackgroundService를 데스크톱 앱에서 쓰는 이유
Windows 도구나 상주 앱에서 시작, 주기 처리, 종료 처리, 로그, 설정, DI를 정리하기 위해 Generic Host와 BackgroundService를 어떻게 쓰는지 정리합니다.
-
WPF/WinForms의 async와 UI 스레드를 한 장으로 정리
WPF / WinForms에서 await 후의 복귀 위치, Dispatcher / Invoke, ConfigureAwait(false), .Result / .Wait()가 막히는 지점을 정리합니다.