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 リポジトリにあります。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET MAUI Community Toolkit