728x90
반응형
728x170
▶ 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
반응형
그리드형(광고전용)
댓글을 달아 주세요