Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De ServiceCollectionExtensions bieden een reeks uitbreidingsmethoden waarmee het registreren van weergaven en de bijbehorende ViewModels in de .NET MAUI IServiceCollection wordt vereenvoudigd.
De ServiceCollectionExtensions is te vinden in de naamruimte CommunityToolkit.Maui, dus voeg de volgende regel toe om te beginnen:
using CommunityToolkit.Maui;
OPMERKING: Deze uitbreidingsmethoden registreren alleen de View en ViewModels in de
IServiceCollection. Ontwikkelaars zijn nog steeds verantwoordelijk voor het toewijzen van het geïnjecteerde exemplaar van het ViewModel aan deBindingContexteigenschap van de View.Bij deze uitbreidingsmethoden wordt ervan uitgegaan dat er een een-op-een-relatie is tussen View en ViewModel en dat beide dezelfde levensduur hebben. Ontwikkelaars moeten terugkeren naar het afzonderlijk registreren van Views en ViewModels om verschillende levensduurs op te geven of om scenario's te verwerken waarin meerdere weergaven gebruikmaken van hetzelfde ViewModel.
Weergaven en ViewModels registreren
Met de volgende methoden kunt u Views en ViewModels registreren in de .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Voegt een scoped View van het type dat is opgegeven in TView en een ViewModel van het type TViewModel toe aan de opgegeven IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddScoped<HomePage, HomePageViewModel>();
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot BindableObject
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
AddSingleton<TView, TViewModel>(IServiceCollection)
Hiermee voegt u een singleton-View van het type dat is opgegeven in TView en een ViewModel van het type TViewModel toe aan de opgegeven IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddSingleton<HomePage, HomePageViewModel>();
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot BindableObject
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
AddTransient<TView, TViewModel>(IServiceCollection)
Voegt een transiënte view van het in TView opgegeven type en een ViewModel van het type TViewModel toe aan de opgegeven IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransient<HomePage, HomePageViewModel>();
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot BindableObject
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
Weergaven en ViewModels registreren met Shell-route
Met de volgende methoden kunt u Weergaven en ViewModels registreren in de .NET MAUI IServiceCollection en expliciet een route naar de weergave registreren binnen .NET MAUI Shell-routering.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Hiermee wordt een bereikweergave van het type toegevoegd dat is opgegeven in TView en ViewModel van het type TViewModel aan de opgegeven IServiceCollection en wordt de weergave voor Shell-navigatie geregistreerd bij de route die is opgegeven in de routeparameter. Een optioneel RouteFactory kan worden verstrekt om de bouw van de weergave te regelen.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddScopedWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot NavigableElement
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
route
Tekenreeks
De route waarnaar binnen .NET MAUI Shell naar de View kan worden genavigeerd.
factory (optional)
RouteFactory
De RouteFactory om de constructie van View te regelen.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Voegt een singleton-View van het in TView opgegeven type en een ViewModel van het type TViewModel toe aan de opgegeven IServiceCollection en registreert de View voor Shell-navigatie onder de in de parameter route opgegeven route. Een optioneel RouteFactory kan worden verstrekt om de bouw van de weergave te regelen.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddSingletonWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot NavigableElement
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
route
Tekenreeks
De route waarnaar de View kan worden genavigeerd binnen .NET MAUI Shell.
factory (optional)
RouteFactory
De RouteFactory om de opbouw van de weergave te beheren.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Voegt een tijdelijke weergave toe van het type dat is opgegeven in TView en ViewModel van het type TViewModel aan de opgegeven IServiceCollection en registreert de weergave voor Shell-navigatie op de route die is opgegeven in de routeparameter. Een optioneel RouteFactory kan worden verstrekt om de bouw van de weergave te regelen.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransientWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot NavigableElement
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
route
string
De route waarheen binnen .NET MAUI Shell naar de View kan worden genavigeerd.
factory (optional)
RouteFactory
De RouteFactory om de constructie van de weergave te beheren.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
Pop-upweergave en weergavemodel registreren
Met de volgende methoden kunt u pop-upweergaven en ViewModels registreren in de .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Voegt een transiënte View van het in TPopupView opgegeven type en een ViewModel van het type TPopupViewModel toe aan de opgegeven IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransientPopup<UpdatingPopup, UpdatingPopupViewModel>();
}
}
Type parameters
Tview
Het type weergave dat moet worden toegevoegd. Beperkt tot Popup
TViewModel
Het type ViewModel dat moet worden toegevoegd. Beperkt tot referentietypen die INotifyPropertyChanged implementeren
Parameters
services
IServiceCollection
De IServiceCollection waaraan u de View en ViewModel wilt toevoegen.
Returns
IServiceCollection Een verwijzing naar dit exemplaar nadat de bewerking is voltooid.
API
U vindt de broncode voor ServiceCollectionExtensions in de .NET MAUI Community Toolkit GitHub opslagplaats.
.NET MAUI Community Toolkit