Konfiguration des linken Menüs und der Seitenladelogik für das Hauptfenster abgeschlossen

Navigation hinzufügen

Linkes Seitenmenü zur Oberfläche hinzufügen

Ein neues WinUI-C++-Projekt erstellen

MainWindow.xaml öffnen

Nur den inneren Grid-Bereich durch den unten gezeigten NavigationView ersetzen (die gesamte Datei nicht überschreiben)

<NavigationView x:Name="NavView" PaneDisplayMode="Left">
        
   <NavigationView.MenuItems>
       <NavigationViewItem Content="Dashboard" Tag="DashboardPage" 
Icon="Account"/>
       <NavigationViewItem Content="Account" Tag="AnalyticsPage" 
Icon="Add"/>
   </NavigationView.MenuItems>

   <Frame x:Name="MainFrame"/>

</NavigationView>Code-Sprache: HTML, XML (xml)

So sieht die Oberfläche nach dem Ausführen aus


Leere Seite hinzufügen

Eine leere Seite erstellen

Rechtsklick auf den Projektnamen → Neues Element hinzufügen (Add New Item)

Navigiere zu Visual C++ → WinUI → Vorlage BlankPage.xaml für leere Seiten

Bearbeite den Grid-Bereich in BlankPage.xaml wie unten gezeigt. Zur visuellen Unterscheidung enthält jede Seite ein TextBlock mit eigenem Text.

Page und Window sind zwei unterschiedliche Steuerelemente

    <Grid>
        <TextBlock Text="This is a blank page." 
HorizontalAlignment="Center" 
VerticalAlignment="Center" FontSize="24"/>
    </Grid>Code-Sprache: C++ (cpp)
Navigationsleiste und Seitenladelogik

Standard-Leerseite für das Hauptfenster festlegen

Konfiguriere das Frame-Steuerelement im Hauptfenster, sodass es standardmäßig die neu erstellte leere Seite lädt

Frame funktioniert ähnlich wie ein iframe in HTML: Es ist ein separater Bereich, um Inhalt einer anderen Seite zu laden und anzuzeigen.

MainWindow.xaml.h öffnen

Entferne die Implementierung des Konstruktors aus der Header-Datei, behalte nur die Deklaration.

Es soll nur noch lauten: MainWindow();

Implementiere den Konstruktor im zugehörigen .cpp-File.

#include "pch.h"
#include "MainWindow.xaml.h"
#if __has_include("MainWindow.g.cpp")
#include "MainWindow.g.cpp"
#endif

using namespace winrt;
using namespace Microsoft::UI::Xaml;

#include "BlankPage.xaml.h"
#include <winrt/Windows.UI.Xaml.Interop.h>

// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.

namespace winrt::App5::implementation
{
    // Die Konstruktorimplementierung liegt im cpp-File, um UI-Initialisierung und Seitenwechsel sicher durchzuführen
    MainWindow::MainWindow()
    {
        InitializeComponent();
        // Lade und zeige BlankPage im Frame an
        MainFrame().Navigate(xaml_typename<App5::BlankPage>());
    }

    int32_t MainWindow::MyProperty()
    {
        throw hresult_not_implemented();
    }

    void MainWindow::MyProperty(int32_t /* value */)
    {
        throw hresult_not_implemented();
    }


}
Code-Sprache: PHP (php)

Für die Nutzung von xaml_typename muss folgender Header eingebunden werden

#include <winrt/Windows.UI.Xaml.Interop.h>Code-Sprache: HTML, XML (xml)

Der Code MainFrame().Navigate(xaml_typename()) sorgt für die Navigation zur BlankPage. Beim Start des Hauptfensters zeigt der rechte MainFrame-Bereich diese leere Seite an.

Konfiguration des linken Menüs und der Seitenladelogik für das Hauptfenster abgeschlossen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert