Pour naviguer dans les différentes parties d'une application WPF, vous devez comprendre les différences entre Window, Page et UserControl.
Fenêtre est une fenêtre indépendante dans l'application, adaptée à l'affichage de nouvelles fenêtres. Cependant, la gestion de plusieurs fenêtres peut s'avérer fastidieuse, il est donc souvent préférable de conserver le contenu dynamique dans une seule fenêtre principale.
La page convient aux systèmes Web tels que XBAP, où le contenu est hébergé dans une fenêtre de navigateur. Il fournit une mise en page structurée pour différentes pages et est également couramment utilisé dans les applications de navigation.
UserControl est un contrôle réutilisable qui peut améliorer l'interface utilisateur. Il peut encapsuler des fonctionnalités personnalisées ou du code XAML complexe pour une vue spécifique dans le modèle MVVM.
Navigation entre les fenêtres :
<code class="language-csharp">var NewWindow = new MyWindow(); newWindow.Show();</code>
Méthode de navigation recommandée :
Utiliser la zone de contenu dynamique (ContentControl) :
<code class="language-xaml"><ContentControl x:Name="ContentArea"></ContentControl></code>
<code class="language-csharp">ContentArea.Content = new MyUserControl();</code>
Pour une approche plus puissante de la navigation, considérez le modèle de conception MVVM :
<code class="language-xaml"><ContentControl Content="{Binding CurrentPageViewModel}"></ContentControl></code>
<code class="language-xaml"><DataTemplate DataType="{x:Type local:HomeViewModel}"><HomeView></HomeView></DataTemplate></code>
<code class="language-csharp">// 导航按钮的命令 public ICommand ChangePageCommand => new RelayCommand<PageViewModel>(vm => CurrentPageViewModel = vm);</code>
Cette approche permet une navigation et une liaison de données transparentes dans les applications WPF.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!