버전 8.0부터 MVVM 도구 키트에는 MVVM 아키텍처를 사용하여 코드를 작성할 때 상용구를 크게 줄이는 데 도움이 되는 새로운 Roslyn 원본 생성기가 포함되어 있습니다. 관찰 가능한 속성, 명령 등을 설정해야 하는 시나리오를 간소화할 수 있습니다. 원본 생성기에 익숙하지 않은 경우 여기에서 자세한 내용을 확인할 수 있습니다. 이는 작동 방식에 대한 간소화된 보기입니다.

즉, 코드를 작성할 때 MVVM 도구 키트 생성기가 백그라운드에서 추가 코드를 생성하는 작업을 처리하므로 걱정할 필요가 없습니다. 그러면 이 코드가 컴파일되어 애플리케이션에 포함되므로 최종 결과는 모든 추가 코드를 수동으로 작성한 것과 똑같지만 모든 추가 작업을 수행할 필요는 없습니다. 🎉
예를 들어 관찰 가능한 속성을 정상적으로 설정하지 않아도 된다면 좋지 않을 것입니다.
private string? name;
public string? Name
{
get => name;
set => SetProperty(ref name, value);
}
동일한 것을 표현하기 위해 간단한 주석이 추가된 필드를 가질 수 있나요?
[ObservableProperty]
private string? name;
명령을 만드는 방법에 대한 정보:
private void SayHello()
{
Console.WriteLine("Hello");
}
private ICommand? sayHelloCommand;
public ICommand SayHelloCommand => sayHelloCommand ??= new RelayCommand(SayHello);
만약 우리가 우리의 방법과 다른 것을 가질 수 있다면 어떨까요?
[RelayCommand]
private void SayHello()
{
Console.WriteLine("Hello");
}
새로운 MVVM 원본 생성기를 사용하면 이 모든 것이 가능하며 훨씬 더 많은 것이 가능합니다. 🙌
참고 항목
원본 생성기는 MVVM 도구 키트의 다른 기존 기능과 독립적으로 사용할 수 있으며 필요에 따라 원본 생성기를 사용하여 이전 API를 사용하여 자유롭게 혼합하고 일치시킬 수 있습니다. 즉, 새 파일에서 원본 생성기를 점진적으로 사용하고 결과적으로 이전 파일을 마이그레이션하여 자세한 정보를 줄일 수 있지만 전체 프로젝트 또는 애플리케이션에서 항상 접근 방식을 사용할 의무는 없습니다.
이러한 문서는 MVVM 생성기에 포함된 기능과 사용 방법을 정확히 설명합니다.
- CommunityToolkit.Mvvm.ComponentModel
- CommunityToolkit.Mvvm.Input
예제
- 샘플 앱(여러 UI 프레임워크의 경우)을 확인하여 작동 중인 MVVM 도구 키트를 확인합니다.
- 단위 테스트에서 더 많은 예제를 찾을 수도 있습니다.
MVVM Toolkit