次の方法で共有


LazyView

LazyView コントロールで、View の初期化を遅らせることができます。 x:TypeArguments XAML 名前空間属性を使用して、レンダリングする View の型を指定し、LoadViewAsync メソッドを使用してその初期化を処理する必要があります。 HasLazyViewLoaded プロパティを調べて、LazyView がいつ読み込まれるかを決定できます。

構文

XAML 名前空間を含める

XAML でこのツールキットを使用するには、次の xmlns をページまたはビューに追加する必要があります。

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

したがって、以下のコードは、

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

</ContentPage>

次のように、xmlns を含むように変更されます。

<ContentPage
    x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">

</ContentPage>

LazyView の使用

<ContentPage
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
    x:Class="CommunityToolkit.Maui.Sample.Pages.Views.LazyViewPage"
    xmlns:local="clr-namespace:CommunityToolkit.Maui.Sample.Pages.Views.LazyView"
    Title="Lazy View">

    <StackLayout>
        <toolkit:LazyView x:Name="LazyUserAction" x:TypeArguments="local:LazyTestView" />
        <Button Text="Load View Now" Clicked="LoadLazyView_Clicked" />
    </StackLayout>

</ContentPage>

分離コードでは、LoadViewAsync メソッドを呼び出すことによってビューを読み込むことができます。

async void LoadLazyView_Clicked(object sender, EventArgs e)
{
    await LazyUserAction.LoadViewAsync();
}

Properties

プロパティ タイプ 説明
HasLazyViewLoaded [bool] LazyView の読み込まれた状態を取得します。

メソッド

プロパティ 返り値の種類 説明
LoadViewAsync ValueTask View を初期化します。

この機能の動作例は .NET MAUI Community Toolkit サンプル アプリケーションで確認できます。

API

LazyView のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリにあります。