Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les ServiceCollectionExtensions fournissent une série de méthodes d’extension qui simplifient l’enregistrement des vues et des ViewModels qui leur sont associés dans le .NET MAUI IServiceCollection.
Le ServiceCollectionExtensions se trouve dans l’espace de noms CommunityToolkit.Maui ; il vous suffit donc d’ajouter la ligne suivante pour démarrer :
using CommunityToolkit.Maui;
REMARQUE : Ces méthodes d’extension inscrivent uniquement les View et ViewModels dans le
IServiceCollection. Les développeurs restent responsables d’affecter l’instance injectée du ViewModel à la propriétéBindingContextde la vue.En outre, ces méthodes d’extension supposent qu’il existe une relation un-à-un entre View et ViewModel et que les deux partagent la même durée de vie. Les développeurs devront revenir individuellement à l’inscription des vues et des ViewModels afin de spécifier des durées de vie différentes ou de gérer des scénarios dans lesquels plusieurs vues utilisent le même ViewModel.
Enregistrer les vues et les ViewModels
Les méthodes suivantes vous permettent d’inscrire des vues et des ViewModels dans le .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Ajoute une vue délimitée du type spécifié dans TView et ViewModel du type TViewModel au IServiceCollection spécifié.
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>();
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Contraint aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
AddSingleton<TView, TViewModel>(IServiceCollection)
Ajoute une vue singleton du type spécifié par TView et un ViewModel du type TViewModel à l’IServiceCollection spécifié.
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>();
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Contraint aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
AddTransient<TView, TViewModel>(IServiceCollection)
Ajoute une vue transitoire de type TView et un ViewModel de type TViewModel à l’IServiceCollection spécifié.
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>();
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Contraint aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
Enregistrer des vues et des modèles de vue avec la route Shell
Les méthodes suivantes vous permettent d’enregistrer des vues et des ViewModels dans .NET MAUI IServiceCollection et d’enregistrer explicitement une route vers la vue dans le système de routage Shell de .NET MAUI.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Ajoute une vue délimitée du type spécifié dans TView et ViewModel du type TViewModel au IServiceCollection spécifié et inscrit la vue pour la navigation Shell sur l’itinéraire spécifié dans le paramètre de routage. Il est possible de fournir RouteFactory facultatif pour contrôler la construction de la vue.
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");
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Limité aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
route
String
Route vers laquelle la View peut naviguer dans .NET MAUI Shell.
factory (optional)
RouteFactory
Le RouteFactory pour contrôler la construction de la vue.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Ajoute une instance unique de View du type spécifié dans TView et un ViewModel du type TViewModel à la collection IServiceCollection spécifiée, et enregistre la vue pour la navigation Shell à la route spécifiée dans le paramètre route. Un RouteFactory facultatif peut être fourni pour contrôler la création de la View.
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");
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Limité aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
route
String
Itinéraire vers lequel la vue peut être parcourue dans .NET MAUI Shell.
factory (optional)
RouteFactory
RouteFactory pour contrôler la construction de la vue.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Ajoute une vue temporaire du type spécifié dans TView et ViewModel du type TViewModel au IServiceCollection spécifié et inscrit la vue pour la navigation Shell à l’itinéraire spécifié dans le paramètre de routage. Il est possible de fournir RouteFactory facultatif pour contrôler la construction de la vue.
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");
}
}
Paramètres de type
Tview
Le type de la Vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Contraint aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
route
String
Itinéraire vers lequel la vue peut être parcourue dans .NET MAUI Shell.
factory (optional)
RouteFactory
Le RouteFactory pour contrôler la construction de la vue View.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
Enregistrer la vue contextuelle et le modèle de vue
Les méthodes suivantes vous permettent d’enregistrer des vues basées sur des pop-up et des ViewModels au sein de .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Ajoute une vue transitoire de type TPopupView et un ViewModel de type TPopupViewModel à l’IServiceCollection spécifiée.
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>();
}
}
Paramètres de type
Tview
Type de la vue à ajouter. Limité à Popup
TViewModel
Type de ViewModel à ajouter. Contraint aux types de référence implémentant INotifyPropertyChanged
Paramètres
services
IServiceCollection
IServiceCollection à laquelle ajouter View et ViewModel.
Retours
IServiceCollection Référence à cette instance une fois l’opération terminée.
API
Vous trouverez le code source de ServiceCollectionExtensions sur le dépôt .NET MAUI Community Toolkit GitHub.
.NET MAUI Community Toolkit