C# WPF/07 CommunityToolkit
10. AsyncRelayCommand, AsyncRelayCommand<T>
10. AsyncRelayCommand, AsyncRelayCommand<T>
2025.04.071. 출처 및 참고자료더보기✔️ Microsoft Docs: AsyncRelayCommand 및 AsyncRelayCommand (공식 문서) 관련 네임스페이스: using CommunityToolkit.Mvvm.Input; 핵심 클래스AsyncRelayCommand 클래스IAsyncRelayCommand 인터페이스[AsyncRelayCommand] 소스 제너레이터 어트리뷰트 2. 개요더보기✔️ 작동 방식AsyncRelayCommand는 비동기 메서드(async Task)를 ICommand로 바인딩할 수 있도록 해주는 명령 클래스입니다.RelayCommand와 유사하지만, 내부에서 await를 안전하게 처리하며 UI가 멈추지 않도록 돕습니다.AsyncRelayCommand는 매개변수를 받는 비동기 명..
09 RelayCommand, RelayCommand<T>
09 RelayCommand, RelayCommand<T>
2025.04.071. 참고자료더보기✔️ Microsoft Docs: RelayCommand (공식 문서) 관련 네임스페이스using CommunityToolkit.Mvvm.Input; 2. 기능 개요더보기✔️ 작동 방식RelayCommand는 MVVM에서 ViewModel 내부의 메서드를 View의 버튼 클릭 이벤트 등에 바인딩하기 위한 기능입니다.ICommand 인터페이스를 자동으로 구현하는 소스 제너레이터 기반 기능입니다.[RelayCommand] 특성을 메서드에 붙이면, 해당 메서드를 호출하는 Command 속성이 자동 생성됩니다.RelayCommand는 **매개변수를 받는 명령(Command)**을 구현할 때 사용합니다. ✔️ 왜 필요한가?MVVM에서는 View에서 직접 메서드를 호출할 수 없기 때문에, ..
08. ObservableValidator
08. ObservableValidator
2025.04.071. 출처 및 참고자료더보기✔️ Microsoft Docs: ObservableValidator (공식문서) ObservableValidator는 INotifyDataErrorInfo를 구현하는 MVVM용 ViewModel 베이스 클래스입니다.이 클래스를 상속하고 .ValidateAllProperties() 또는 .ValidateProperty() 메서드를 호출하면, 속성의 데이터 유효성 검사가 자동으로 수행되며, View에서 실시간으로 오류 메시지를 수신할 수 있습니다. 관련 어노테이션: [ObservableProperty], [Required], [MinLength], [MaxLength], [EmailAddress] 등 2. 기능명 or 기능 개요더보기✔️ 작동 방식ObservableObject..
07. ObservableRecipient
07. ObservableRecipient
2025.04.041. 참고자료더보기✔️ Microsoft Learn / Learn / .NET / MVVM공유한 링크는 .NET Community Toolkit의 ObservableRecipient 클래스에 대한 문서입니다.이 클래스는 ObservableObject와 IRecipient를 결합하여 만든 ViewModel 전용 수신자 기반 클래스입니다.MVVM 아키텍처에서 메시지 기반 통신을 간편하게 사용할 수 있도록 도와줍니다. 2. ObservableRecipient 개요더보기✔️ 작동 방식 구성 요소설명MessengerWeakReferenceMessenger.Default로 메시지를 보내고 받음IsActivetrue일 때만 메시지를 수신할 수 있음 (디폴트: false)Receive(TMessage)메시지를 ..
06. ObservableObject
06. ObservableObject
2025.04.041. 참고자료더보기✔️ Microsoft Learn / Learn / .NET / MVVMObservableObject는 MVVM Toolkit에서 제공하는 MVVM의 핵심 클래스로INotifyPropertyChanged 인터페이스를 구현하고, 속성 변경을 View에 알리는 기능을 자동화해주는 베이스 클래스입니다.즉, ViewModel이 반드시 상속해야 하는 기본 클래스입니다. CommunityToolkit.Mvvm의 ObservableObject 기능은Observable하지 않은(Model이 INotifyPropertyChanged를 구현하지 않은) 기존 모델을 MVVM에 통합하는 핵심 기술입니다. ✔️ 소스 코드 2. ObservableObject 개요 더보기✔️ MVVM 구현 방식 비교 ..
04. RelayCommand
04. RelayCommand
2025.04.031. RelayCommand더보기✔️ Microsoft Learn / Learn / .NET / MVVM 이 문서는 [RelayCommand] 어트리뷰트를 사용해서CommunityToolkit.MVVM의 RelayCommand는 MVVM 아키텍처에서 UI에서 ViewModel의 메서드를 실행하도록 연결하는 복잡한 ICommand 구현을 자동으로 대체해주기 때문에 학습자들이 MVVM을 더 빠르게 익히고 적용할 수 있습니다. 2. RelayCommand 사용 예시더보기// MainViewModel 클래스는 MVVM 패턴에서 ViewModel 역할을 수행합니다.// ObservableObject를 상속받아 INotifyPropertyChanged를 자동으로 구현합니다.// CommunityToolki..
03. ObservableProperty
03. ObservableProperty
2025.04.021. ObservableProperty 더보기✔️ Microsoft Learn / Learn / .NET / MVVM 이 문서는 [ObservableProperty] 어트리뷰트를 사용해서MVVM 패턴의 핵심인 Property(속성) 변경 알림(INotifyPropertyChanged)을 자동으로 구현해서속성 값이 변경되었을 때 자동으로 실행되는 메서드를 정의하는 방법에 대한 내용입니. 2. ObservableProperty 사용 예시더보기// PersonViewModel 클래스는 MVVM 패턴에서 ViewModel 역할을 수행합니다.// ObservableObject를 상속받아 INotifyPropertyChanged를 자동으로 구현합니다.// CommunityToolkit.Mvvm의 Source ..
02. source generator
02. source generator
2025.04.021. Source Generator 더보기✔️ Microsoft Learn / Learn / .NET / MVVM CommunityToolkit.Mvvm 의 Source Generator 기능들에 대해 설명합니다.즉, 우리가 반복적으로 작성하던 MVVM 관련 코드를 자동으로 생성해주는 기능들을 제공합니다. 2. CommunityToolkit.Mvvm 을 사용한 예제더보기✔️ ViewModel 클래스 만들기using CommunityToolkit.Mvvm.ComponentModel;using CommunityToolkit.Mvvm.Input;using System.Windows;internal partial class MainViewModel : ObservableObject{ [Observa..
01. CommunityToolkit.Mvvm 설치법
01. CommunityToolkit.Mvvm 설치법
2025.04.021. CommunityToolkit.Mvvm 소개더보기Microsoft Learn / Learn / .NET / MVVM 2. NuGet 패키지 관리자에서 설치더보기솔루션 탐색기에서 프로젝트 우클릭 설치된 패키지 리스트가 기본 선택된다. NuGet 패키지 관리 찾기 탭에서 CommunityToolkit.Mvvm 입력 최신 안정 버전 선택 후 설치 버튼 클릭 설치된 패키지 확인 2. NuGet 패키지 관리자 콘솔에서 설치더보기1. Visual Studio 에서 패키지 관리자 콘솔 실행 방법1. Visual Studio 상단 메뉴에서 도구 → NuGet 패키지 관리자 → 패키지 관리자 콘솔 열기방법2. Visual Studio에서 ctrl + q 단축키 → Package Manag..