WPF에서 명령 처리와 매개변수 전달 방법
MVVM 패턴에서는 명령을 구현하는 여러 가지 방식이 존재하며, 각각의 특성과 사용 목적에 따라 선택할 수 있다.
1. 커스텀 명령 클래스: DelegateCommand
다음은 간단한 ICommand 인터페이스를 직접 구현한 예제이다. 이 방식은 유연성과 제어력을 제공하지만, 추가적인 라이브러리 없이도 사용 가능하다.
public class CustomCommand : ICommand
{
private readonly ...
8월 1일 03:00에 게시됨
WPF 리소스 시스템의 핵심 개념과 활용
WPF 리소스의 목적과 역할
WPF에서 리소스는 스타일, 페인트, 템플릿 등의 재사용 가능한 객체를 중앙 집중적으로 관리하는 기능입니다. 이를 통해 반복적인 코드 작성을 줄이고, 사용자 인터페이스의 전반적인 색상, 폰트, 레이아웃 설정 등을 단일 위치에서 수정할 수 있어 유지보수가 용이합니다.
리소스 정의 및 사용 방식
리소스는 일반적으로 XAML에서 정의되며, & ...
7월 31일 21:14에 게시됨
WPF 라우팅 이벤트의 이해와 활용
라우팅 이벤트 개념
WPF의 라우팅 이벤트는 시각적 트리를 따라 이동하며 다양한 요소에서 처리될 수 있는 메커니즘이다. 이 이벤트는 실제 발생한 요소와 다른 요소에서도 처리 가능하며, 의존 속성과 마찬가로 표준 이벤트 핸들러 방식으로 사용할 수 있지만 내부 동작 원리를 이해해야 고급 기능을 활용할 수 있다.
이벤트 등록 및 정의 패턴
라우팅 이벤트는 읽기 전 ...
7월 22일 11:07에 게시됨
WPF 데이터 바인딩: 핵심 개념 및 활용
WPF(Windows Presentation Foundation)는 강력한 사용자 인터페이스를 손쉽게 구현할 수 있도록 지원하며, 특히 뛰어난 데이터 바인딩 기능을 제공합니다. WinForms나 ASP.NET의 데이터 바인딩과 유사한 점도 있지만, WPF는 XAML 기반의 선언적 바인딩과 코드 비하인드 방식, 또는 이 둘의 조합을 통해 더욱 유연하고 강력한 데이터 바인딩을 가능하게 합니다. 컨트롤의 속 ...
7월 19일 03:53에 게시됨
WPF에서 정적 리소스와 동적 리소스의 차이 및 실질적인 동작 방식
WPF에서는 리소스를 StaticResource와 DynamicResource 두 가지 방식으로 참조할 수 있습니다. 이 둘은 문법상으로는 비슷해 보이지만, 작동 시점과 갱신 방식에 중요한 차이가 있습니다. 아래 예제를 통해 그 동작을 자세히 살펴보겠습니다.
기본 예제: 두 버튼이 같은 브러시 리소스 참조
다음 XAML 코드는 하나의 SolidColorBrush 리소스를 정의하고, 이를 두 개의 버 ...
7월 18일 18:36에 게시됨
XAML 기초 마스터하기: 구조와 사용법
XAML 기본 원칙
XAML은 직관적인 구조를 따릅니다. 핵심 원칙은 다음과 같습니다.
XAML 문서의 각 요소는 .NET 클래스의 인스턴스에 매핑됩니다. 요소 이름은 클래스 이름과 정확히 일치합니다. 예를 들어, <Button> 요소는 Button 객체입니다.
XML 문서처럼 요소 내부에 다른 요소를 중첩할 수 있습니다. XAML은 각 클래스가 이 상황을 유연하게 처리하도록 합 ...
7월 15일 02:37에 게시됨
WPF 데이터 바인딩 완벽 가이드
WPF의 데이터 바인딩은 거의 모든 객체의 속성에서 정보를 가져와 UI 요소의 속성에 채울 수 있는 강력한 기능입니다.
사용자 정의 객체를 데이터베이스에 바인딩하기
데이터 접근 컴포넌트 구축
데이터 바인딩의 핵심은 데이터 객체를 UI 요소에 연결하는 것입니다. 먼저 데이터베이스에 접근하는 코드를 작성해야 합니다. 프로젝트에 데이터베이 ...
7월 9일 19:53에 게시됨
WPF Transform 기반 캔버스 경계 초과 감지 및 계산 구현
일부 시나리오에서는 캔버스의 경계를 제어해야 하며, 이때 캔버스의 네 방향 경계와 극값을 계산해야 합니다.
먼저 효과를 확인해보세요:
캔버스는 RenderTransform을 통해 변환됩니다. 변환 과정에서 실제 너비와 높이는 변경되지 않으므로 Transform을 통해 변환 상태를 실시간으로 기록해야 합니다.
이 예제에서는 Canvas에 대해 RenderTransform 변환을 사용하여 확 ...
7월 8일 00:08에 게시됨
Avalonia UI에서 창 테두리 사용자 정의 방법
001 Avalonia UI에서 창 테두리 커스터마이징
버전 Avalonia 11.0.0
참고 자료
AvaloniaUI(二、无边框窗口) https://www.cnblogs.com/wuyaxiansheng/p/17584413.html
서론
데스크톱 애플리케이션을 개발할 때 항상 창 테두리를 어떻게 커스터마이징할지에 대해 관심을 가집니다. 또 다른 소프트웨어를 사용할 때도 이 점을 주시하게 되는데, UWP에 접근하지 않 ...
7월 5일 00:21에 게시됨
WPF 컨트롤의 6가지 유형
WPF 컨트롤 분류:
콘텐츠 컨트롤
헤더 콘텐츠 컨트롤
텍스트 컨트롤
리스트 컨트롤
범위 기반 컨트롤
날짜 컨트롤
컨트롤 클래스
컨트롤은 사용자와 상호작용하는 요소입니다. 포커스를 받을 수 있고, 키보드나 마우스 입력을 처리할 수 있습니다.
모든 컨트롤의 기본 클래스는 System.Windows.Control입니다. 이 클래스는 다음과 같은 기능을 포함합니다:
정렬
탭 시퀀 ...
7월 4일 17:45에 게시됨