WPF MVVM-Ansichtsnavigation ohne externes Framework
In WPF-Anwendungen, die das MVVM-Muster zum Verwalten mehrerer Ansichten verwenden, ist die Navigation zwischen Ansichten von entscheidender Bedeutung. Dieser Artikel befasst sich mit dem Problem des Wechsels von einer Ansicht zu einer anderen, insbesondere wenn Ansicht 2 nach dem Navigieren von Ansicht 1 in dasselbe Fenster geladen wird.
Im Gegensatz zu den Referenzlinks, die MVVM Light oder andere Frameworks verwenden, handelt es sich hier um einen vereinfachten Ansatz, der keine externen Abhängigkeiten erfordert. Diese Methode verwendet eine Datenvorlage, um die Ansicht dem Ansichtsmodell zuzuordnen, und verwendet ein ContentControl, um die ausgewählte Ansicht anzuzeigen.
Datenvorlage und ViewModel-Bindung
Definieren Sie in einer Ressource wie App.xaml eine Datenvorlage, um das Ansichtsmodell der entsprechenden Ansicht zuzuordnen:
<code class="language-xml"><DataTemplate DataType="{x:Type ViewModels:MainViewModel}"><MainView /></DataTemplate> ...</code>
Ansicht vom Haupt-ViewModel wechseln
Erstellen Sie in MainViewModel eine ViewModel-Eigenschaft, die auf ein anderes Ansichtsmodell festgelegt werden kann:
<code class="language-csharp">public BaseViewModel ViewModel { get; set; }</code>
Um zu einer anderen Ansicht zu wechseln, weisen Sie dieser Eigenschaft einfach das entsprechende Ansichtsmodell zu:
<code class="language-csharp">ViewModel = new PersonViewModel();</code>
Ansichten aus Unteransichten navigieren
Um aus Unteransichten navigieren zu können, deklarieren Sie einen Befehl im MainViewModel:
<code class="language-csharp">public ICommand DisplayPersonView { get { return new RelayCommand(action => { ViewModel = new PersonViewModel(); }, canExecute => { ... }); } }</code>
Binden Sie im Unteransicht-XAML die Command-Eigenschaft der Schaltfläche an diesen ICommand:
<code class="language-xml"><Button Command="{Binding DisplayPersonView}" /></code>
Indem Sie diese Schritte befolgen, können Sie effizient durch Ansichten in Ihrer WPF-MVVM-Anwendung navigieren und so ein reibungsloses Benutzererlebnis gewährleisten.
Das obige ist der detaillierte Inhalt vonWie navigiere ich zwischen Ansichten in WPF MVVM ohne externe Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!