Pengaturan menu sisi kiri dan pemuatan halaman jendela utama selesai

Tambah Navigasi

Tambah Menu Sisi Kiri ke Tampilan Antarmuka

Buat proyek WinUI C++ baru

Buka file MainWindow.xaml

Ganti bagian Grid di dalamnya dengan NavigationView seperti di bawah ini (hanya ganti bagian Grid, jangan ganti seluruh file)

<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 language: HTML, XML (xml)

Tampilan setelah menjalankan aplikasi seperti gambar di bawah


Tambah Halaman Kosong

Buat Halaman Kosong

Klik kanan nama proyek → Tambah Item Baru (Add New Item)

Cari Visual C++ → WinUI → Template BlankPage.xaml halaman kosong

Ubah bagian Grid di dalam BlankPage.xaml seperti di bawah. Agar tiap halaman mudah dibedakan, pasang TextBlock dengan tulisan berbeda di tiap halaman.

Page dan Window adalah kontrol yang berbeda

    <Grid>
        <TextBlock Text="This is a blank page." 
HorizontalAlignment="Center" 
VerticalAlignment="Center" FontSize="24"/>
    </Grid>Code language: C++ (cpp)
Bar Navigasi & Pemuatan Halaman

Atur Halaman Kosong Default untuk Jendela Utama

Konfigurasikan kontrol Frame di jendela utama agar secara otomatis memuat halaman kosong yang sudah dibuat

Frame konsepnya mirip iframe di HTML, yaitu area terpisah untuk memuat konten halaman lain.

Buka file MainWindow.xaml.h

Hapus bagian implementasi konstruktor di header, biarkan hanya deklarasi saja.

Jadikan hanya seperti ini: MainWindow();

Implementasikan logika konstruktor di file .cpp.

#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
{
    // Implementasi konstruktor diletakkan di file cpp agar bisa inisialisasi UI dan navigasi halaman dengan aman
    MainWindow::MainWindow()
    {
        InitializeComponent();
        // Perintahkan Frame memuat dan menampilkan BlankPage
        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 language: PHP (php)

Fungsi xaml_typename memerlukan header berikut untuk dimasukkan:

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

Kode MainFrame().Navigate(xaml_typename()) berfungsi berpindah ke halaman BlankPage. Saat jendela utama dibuka, area MainFrame di sebelah kanan akan menampilkan halaman kosong tersebut.

Pengaturan menu sisi kiri dan pemuatan halaman jendela utama selesai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *