005. Prism 설치 및 초기 설정, Visual Studio에서의 기본 프로젝트 설정
WPF(Windows Presentation Foundation) 애플리케이션 개발에 있어 Prism 프레임워크는 매우 유용한 도구입니다. Prism은 모듈화, MVVM(모델-뷰-뷰모델) 패턴, 의존성 주입 등과 같은 고급 애플리케이션 디자인 패턴을 지원하여 개발자가 복잡한 애플리케이션을 효율적으로 구축할 수 있도록 도와줍니다. 이번 글에서는 Prism을 설치하고 초기 설정을 수행한 후, Visual Studio에서 기본 프로젝트를 설정하는 과정을 자세히 설명하겠습니다.
1. Prism 설치
Prism은 NuGet 패키지로 쉽게 설치할 수 있습니다. Visual Studio에서 Prism을 설치하려면 다음 단계를 따르세요.
-
Visual Studio를 열고, 새 WPF 애플리케이션 프로젝트를 생성합니다. 2022년 이상의 Visual Studio 버전을 사용하는 것이 좋습니다. 프로젝트 템플릿을 선택할 때 .NET Core 혹은 .NET 5/6/7를 기반으로 하는 WPF 애플리케이션을 선택합니다.
-
프로젝트가 생성되면, 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 선택합니다.
-
패키지 관리자 콘솔에 다음 명령을 입력하여 Prism 패키지를 설치합니다:
Install-Package Prism.Unity
이 명령은 Prism의 Unity 의존성 주입 컨테이너를 설치합니다. 다른 DI 컨테이너를 사용하고 싶다면 적절한 패키지를 선택하여 설치할 수 있습니다.
2. 초기 설정
Prism을 설치한 후, 몇 가지 초기 설정을 수행하여 애플리케이션 구조를 정의해야 합니다.
-
App.xaml 파일을 열고,
Application
태그의 StartupUri 속성을 제거합니다. 우리는 Prism의 Bootstrapper를 사용할 것이기 때문에 기본 설정을 변경할 필요가 있습니다.<Application x:Class="MyPrismApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />
-
App.xaml.cs 파일을 열고, Prism의
PrismApplication
클래스를 상속받은 새로운 부트스트래퍼 클래스를 생성합니다:public partial class App : PrismApplication { protected override void RegisterTypes(IContainerRegistry containerRegistry) { // 서비스 등록 } protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { // 모듈 등록 } protected override void OnInitialized() { base.OnInitialized(); NavigationService.NavigateAsync("MainPage"); } }
3. 기본 프로젝트 설정
다음으로는 프로젝트의 기본 구조를 설정하고, 필요한 모듈 및 페이지를 생성하는 과정을 살펴보겠습니다.
-
주 페이지가 될 MainPage.xaml을 생성합니다. 솔루션 탐색기에서 마우스 오른쪽 버튼 클릭 후, 추가 > 새 항목을 선택해 WPF 페이지를 추가합니다.
<Page x:Class="MyPrismApp.Views.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainPage"> <Grid> <TextBlock Text="Hello, Prism!" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> </Page>
-
MVVM 패턴을 적용하기 위해 MainPageViewModel 클래스를 생성합니다. 이 클래스는 페이지의 로직과 데이터 바인딩을 담당하게 됩니다:
public class MainPageViewModel : BindableBase { private string _title; public string Title { get { return _title; } set { SetProperty(ref _title, value); } } public MainPageViewModel() { Title = "Welcome to Prism!"; } }
-
ViewModel과 View를 연결하기 위해, XAML 코드에서
DataContext
를 설정합니다:<Page.DataContext> <local:MainPageViewModel /> </Page.DataContext>
-
마지막으로, Prism의 모듈 시스템을 활용하기 위해, 새로운 프로젝트를 추가하여 모듈을 구성합니다. 이 경우, 새로운 Class Library 프로젝트를 추가하고 Prism 모듈을 구현할 수 있습니다.
public class MyModule : IModule { private readonly IContainerProvider _containerProvider; public MyModule(IContainerProvider containerProvider) { _containerProvider = containerProvider; } public void OnInitialized() { // 초기화 과정 } public void RegisterTypes(IContainerRegistry containerRegistry) { // 타입 등록 } }
4. 결론
이제 Prism을 설치하고 초기 설정을 수행하여 Visual Studio에서 기본 프로젝트를 설정하는 방법을 알아보았습니다. Prism은 WPF 애플리케이션 개발시 모듈화되고 유지보수하기 쉬운 구조를 제공하므로, 큰 애플리케이션을 개발할 때 강력한 도구가 됩니다. 다음 글에서는 Prism의 더 많은 기능과 활용 사례에 대해 다루어 보겠습니다.
Prism을 통해 WPF 애플리케이션의 복잡성을 줄이고, 더 나은 구조와 유지보수성을 가진 애플리케이션을 만들어 보세요.