LazyView コントロールを使用すると、Viewの初期化を遅らせることができます。
View XAML 名前空間属性を使用して、レンダリングするx:TypeArgumentsの型を指定し、LoadViewAsync メソッドを使用してその初期化を処理する必要があります。
HasLazyViewLoaded プロパティを調べて、LazyViewが読み込まれるタイミングを確認できます。
Syntax
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();
}
プロパティ
| 財産 | タイプ | Description |
|---|---|---|
| HasLazyViewLoaded | bool |
LazyView の読み込み状態を取得します。 |
Methods
| 財産 | 返り値の種類 | Description |
|---|---|---|
| LoadViewAsync | ValueTask |
Viewを初期化します。 |
例示
この機能の例は、.NET MAUI Community Toolkit サンプル アプリケーションで動作しています。
API
LazyView のソース コードは、.NET MAUI Community Toolkit GitHub リポジトリで確認できます。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET MAUI Community Toolkit