PR

.NET MAUI App.xaml App.xaml.cs の役割

アプリ全体のリソース(色・スタイル・テンプレート)を定義する場所

App.xaml は、アプリ全体で共有する UI リソースを置く場所。

  • 色(Color Resource)
  • スタイル(Style)
  • コントロールテンプレート
  • フォント
  • マージドリソース辞書

テンプレート初期では、下記のように Resources/Styles/ 配下の、Colors.xamlStyles.xaml に結びつけられている。

<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:LMSS.App"
             x:Class="LMSS.App.App">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/Styles/Colors.xaml" />
                <ResourceDictionary Source="Resources/Styles/Styles.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

アプリのライフサイクルを管理する(起動・終了・再開など)

App.xaml.cs はコードビハインドで、アプリのライフサイクルイベントを扱運輸倉庫(株)。

  • アプリ起動時(OnStart)
  • アプリがフォアグラウンドに戻ったとき(OnResume)
  • バックグラウンドに行くとき(OnSleep)

テンプレート初期では、以下のように Appshell に繋がっている。

using Microsoft.Extensions.DependencyInjection;

namespace LMSS.App
{
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent();
        }

        protected override Window CreateWindow(IActivationState? activationState)
        {
            return new Window(new AppShell());
        }
    }
}

コメント