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

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

Linda Hamilton
Linda Hamilton원래의
2025-01-26 20:26:11938검색

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으로 문의하세요.