2
0
Files
maui-linux-samples/ShellDemo/AppShell.xaml
2026-01-24 03:17:48 +00:00

105 lines
4.8 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<Shell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:ShellDemo"
x:Class="ShellDemo.AppShell"
Title="OpenMaui Controls Demo"
FlyoutBehavior="Flyout"
FlyoutBackgroundColor="{AppThemeBinding Light={StaticResource FlyoutBackgroundLight}, Dark={StaticResource FlyoutBackgroundDark}}"
Shell.BackgroundColor="{AppThemeBinding Light={StaticResource ShellBackgroundLight}, Dark={StaticResource ShellBackgroundDark}}"
Shell.ForegroundColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
Shell.TitleColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}">
<!-- Flyout Header -->
<Shell.FlyoutHeader>
<Grid BackgroundColor="{AppThemeBinding Light=#E8E8E8, Dark=#2A2A2A}"
HeightRequest="120">
<VerticalStackLayout VerticalOptions="Center" HorizontalOptions="Fill">
<Image Source="logo_only.png"
WidthRequest="80"
HeightRequest="80"
HorizontalOptions="Center" />
<Label Text="OpenMaui"
FontSize="18"
FontAttributes="Bold"
HorizontalOptions="Center"
HorizontalTextAlignment="Center"
TextColor="{AppThemeBinding Light=#212121, Dark=#E0E0E0}" />
<Label Text="Controls Demo"
FontSize="11"
HorizontalOptions="Center"
HorizontalTextAlignment="Center"
TextColor="{AppThemeBinding Light=#757575, Dark=#B0B0B0}" />
</VerticalStackLayout>
</Grid>
</Shell.FlyoutHeader>
<!-- Flyout Footer -->
<Shell.FlyoutFooter>
<Grid BackgroundColor="{AppThemeBinding Light={StaticResource CardBackgroundLight}, Dark={StaticResource CardBackgroundDark}}"
HeightRequest="50"
Padding="16,0">
<Label Text="{Binding AppVersion}"
FontSize="12"
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
VerticalOptions="Center"
HorizontalOptions="Start" />
</Grid>
</Shell.FlyoutFooter>
<!-- Home -->
<FlyoutItem Title="Home" Route="Home"
Icon="{AppThemeBinding Light=home_light.svg, Dark=home_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:HomePage}" />
</FlyoutItem>
<!-- Buttons -->
<FlyoutItem Title="Buttons" Route="Buttons"
Icon="{AppThemeBinding Light=smart_button_light.svg, Dark=smart_button_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:ButtonsPage}" />
</FlyoutItem>
<!-- Text Input -->
<FlyoutItem Title="Text Input" Route="TextInput"
Icon="{AppThemeBinding Light=edit_note_light.svg, Dark=edit_note_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:TextInputPage}" />
</FlyoutItem>
<!-- Selection -->
<FlyoutItem Title="Selection" Route="Selection"
Icon="{AppThemeBinding Light=check_box_light.svg, Dark=check_box_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:SelectionPage}" />
</FlyoutItem>
<!-- Pickers -->
<FlyoutItem Title="Pickers" Route="Pickers"
Icon="{AppThemeBinding Light=calendar_month_light.svg, Dark=calendar_month_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:PickersPage}" />
</FlyoutItem>
<!-- Lists -->
<FlyoutItem Title="Lists" Route="Lists"
Icon="{AppThemeBinding Light=format_list_bulleted_light.svg, Dark=format_list_bulleted_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:ListsPage}" />
</FlyoutItem>
<!-- Progress -->
<FlyoutItem Title="Progress" Route="Progress"
Icon="{AppThemeBinding Light=hourglass_empty_light.svg, Dark=hourglass_empty_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:ProgressPage}" />
</FlyoutItem>
<!-- Grids -->
<FlyoutItem Title="Grids" Route="Grids"
Icon="{AppThemeBinding Light=grid_view_light.svg, Dark=grid_view_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:GridsPage}" />
</FlyoutItem>
<!-- About -->
<FlyoutItem Title="About" Route="About"
Icon="{AppThemeBinding Light=info_light.svg, Dark=info_dark.svg}">
<ShellContent ContentTemplate="{DataTemplate local:AboutPage}" />
</FlyoutItem>
</Shell>