첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
0.16MB

▶ AppShell.xaml

<?xml version="1.0" encoding="utf-8" ?>
<Shell x:Class="TestProject.AppShell" x:Name="shell"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:TestProject">
    <FlyoutItem
        Route="동물"
        FlyoutDisplayOptions="AsMultipleItems">
        <Tab
            Route="국내"
            Title="국내"
            Icon="sample1.png">
            <ShellContent
                Route="고양이"
                Title="고양이"
                Icon="sample2.png"
                ContentTemplate="{DataTemplate local:CatPage}" />
            <ShellContent
                Route="개"
                Title="개"
                Icon="sample3.png"
                ContentTemplate="{DataTemplate local:DogPage}" />
        </Tab>
        <ShellContent
            Route="원숭이"
            Title="원숭이"
            Icon="sample1.png"
            ContentTemplate="{DataTemplate local:MonkeyPage}" />
        <ShellContent
            Route="코끼리"
            Title="코끼리"
            Icon="sample2.png"
            ContentTemplate="{DataTemplate local:ElephantPage}" />
        <ShellContent
            Route="곰"
            Title="곰"
            Icon="sample3.png"
            ContentTemplate="{DataTemplate local:BearPage}" />
    </FlyoutItem>
    <ShellContent
        Route="정보"
        Title="정보"
        Icon="sample1.png"
        ContentTemplate="{DataTemplate local:AboutPage}" />
</Shell>

 

728x90

 

▶ AppShell.xaml.cs

namespace TestProject;

/// <summary>
/// 앱 쉘
/// </summary>
public partial class AppShell : Shell
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - AppShell()

    /// <summary>
    /// 생성자
    /// </summary>
    public AppShell()
    {
        InitializeComponent();

        Routing.RegisterRoute("원숭이/원숭이상세", typeof(MonkeyDetailPage));
    }

    #endregion
}

 

300x250

 

▶ MonkeyPage.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage x:Class="TestProject.MonkeyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    Title="Monkey Page"
    BackgroundColor="White">
    <StackLayout
        HorizontalOptions="Center"
        VerticalOptions="Center">
        <Label Text="MONKEY PAGE"
            VerticalOptions="Center" 
            HorizontalOptions="Center" />
        <Button x:Name="detailButton"
            Margin="10"
            WidthRequest="120"
            HeightRequest="40"
            Text="원숭이 상세" />
    </StackLayout>
</ContentPage>

 

반응형

 

▶ MonkeyPage.xaml.cs

namespace TestProject;

/// <summary>
/// 원숭이 페이지
/// </summary>
public partial class MonkeyPage : ContentPage
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - MonkeyPage()

    /// <summary>
    /// 생성자
    /// </summary>
    public MonkeyPage()
    {
        InitializeComponent();

        this.detailButton.Clicked += detailButton_Clicked;
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 원숭이 상세 버튼 클릭시 처리하기 - detailButton_Clicked(sender, e)

    /// <summary>
    /// 원숭이 상세 버튼 클릭시 처리하기
    /// </summary>
    /// <param name="sender">이벤트 발생자</param>
    /// <param name="e">이벤트 인자</param>
    private async void detailButton_Clicked(object sender, EventArgs e)
    {
        await Shell.Current.GoToAsync("//동물/원숭이/원숭이상세");
    }

    #endregion
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요