> 백엔드 개발 > C++ > 외부 프레임워크 없이 WPF MVVM에서 뷰 간을 이동하는 방법은 무엇입니까?

외부 프레임워크 없이 WPF MVVM에서 뷰 간을 이동하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-26 20:26:11
원래의
946명이 탐색했습니다.

How to Navigate Between Views in WPF MVVM Without External Frameworks?

외부 프레임워크가 없는 WPF MVVM 보기 탐색

MVVM 패턴을 사용하여 여러 뷰를 관리하는 WPF 애플리케이션에서는 뷰 간 탐색이 중요합니다. 이 문서에서는 특히 보기 1에서 탐색한 후 보기 2가 동일한 창에 로드되는 경우 한 보기에서 다른 보기로 전환하는 문제를 설명합니다.

MVVM Light 또는 기타 프레임워크를 사용하는 참조 링크와 달리 여기에는 외부 종속성이 필요하지 않은 단순화된 접근 방식이 있습니다. 이 메서드는 데이터 템플릿을 활용하여 뷰를 뷰 모델과 연결하고 ContentControl을 사용하여 선택한 뷰를 표시합니다.

데이터 템플릿 및 ViewModel 바인딩

App.xaml과 같은 리소스에서 뷰 모델을 해당 뷰에 매핑하는 데이터 템플릿을 정의합니다.

<code class="language-xml"><DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView /></DataTemplate>
...</code>
로그인 후 복사

기본 ViewModel에서 보기 전환

MainViewModel에서 다른 뷰 모델로 설정할 수 있는 ViewModel 속성을 생성합니다.

<code class="language-csharp">public BaseViewModel ViewModel { get; set; }</code>
로그인 후 복사

다른 보기로 전환하려면 해당 보기 모델을 이 속성에 할당하면 됩니다.

<code class="language-csharp">ViewModel = new PersonViewModel();</code>
로그인 후 복사

하위 뷰에서 뷰 탐색

하위 뷰에서 탐색하려면 MainViewModel에서 명령을 선언하세요.

<code class="language-csharp">public ICommand DisplayPersonView
{
    get { return new RelayCommand(action => { ViewModel = new PersonViewModel(); }, canExecute => { ... }); }
}</code>
로그인 후 복사

하위 뷰 XAML에서 버튼의 Command 속성을 다음 ICommand에 바인딩합니다.

<code class="language-xml"><Button Command="{Binding DisplayPersonView}" /></code>
로그인 후 복사

이러한 단계를 수행하면 WPF MVVM 애플리케이션에서 뷰를 효율적으로 탐색하여 원활한 사용자 경험을 보장할 수 있습니다.

위 내용은 외부 프레임워크 없이 WPF MVVM에서 뷰 간을 이동하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿