ServiceCollectionExtensions
Les ServiceCollectionExtensions
fournissent une série de méthodes d’extension qui simplifient l’enregistrement des vues et de leurs ViewModels associés dans la IServiceCollection
.NET MAUI.
Les ServiceCollectionExtensions
se trouvent sous 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 vues et ViewModels dans la
IServiceCollection
. Les développeurs restent responsables de l’affectation de l’instance de ViewModel injectée à la propriété de vueBindingContext
.En outre, ces méthodes d’extension supposent qu’il existe une relation un-à-un entre la vue et le ViewModel, et que tous deux partagent la même durée de vie. Les développeurs doivent restaurer l’inscription des vues et des ViewModels de façon individuelle 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.
Inscription des vues et ViewModels
Les méthodes suivantes vous permettent d’inscrire des vues et des ViewModels dans la IServiceCollection
.NET MAUI.
AddScoped<TView, TViewModel>(IServiceCollection)
Ajoute une vue délimitée du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à la 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.AddScoped<HomePage, HomePageViewModel>();
}
}
Paramètres de type
TView
Type de vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
AddSingleton<TView, TViewModel>(IServiceCollection)
Ajoute une vue singleton du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à la 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.AddSingleton<HomePage, HomePageViewModel>();
}
}
Paramètres de type
TView
Type de vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
AddTransient<TView, TViewModel>(IServiceCollection)
Ajoute une vue transitoire du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à la 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.AddTransient<HomePage, HomePageViewModel>();
}
}
Paramètres de type
TView
Type de vue à ajouter. Limité à BindableObject
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
Inscription des vues et ViewModels avec le routage d’interpréteur de commandes
Les méthodes suivantes vous permettent d’inscrire des vues et des ViewModels dans la IServiceCollection
.NET MAUI. Elles permettent également d’inscrire explicitement un itinéraire vers la vue dans le routage d’interpréteur de commandes .NET MAUI.
AddScopedWithShellRoute<TView, TViewModel>(services, itinéraire, fabrique)
Ajoute une vue délimitée du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à l’IServiceCollection spécifiée. Inscrit également la vue pour la navigation par interpréteur de commandes sur l’itinéraire spécifié dans le paramètre de routage. Une RouteFactory
facultative peut être fournie pour contrôler la construction de 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 vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
route
string
Itinéraire vers lequel la vue peut être acheminée dans l’interpréteur de commandes .NET MAUI.
factory (optional)
RouteFactory
La RouteFactory
pour contrôler la construction de vue.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
AddSingletonWithShellRoute<TView, TViewModel>(services, itinéraire, fabrique)
Ajoute une vue singleton du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à l’IServiceCollection spécifiée. Inscrit également la vue pour la navigation par interpréteur de commandes sur l’itinéraire spécifié dans le paramètre de routage. Une RouteFactory
facultative peut être fournie pour contrôler la construction de 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.AddSingletonWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Paramètres de type
TView
Type de vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
route
string
Itinéraire vers lequel la vue peut être acheminée dans l’interpréteur de commandes .NET MAUI.
factory (optional)
RouteFactory
La RouteFactory
pour contrôler la construction de vue.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
AddTransientWithShellRoute<TView, TViewModel>(services, itinéraire, fabrique)
Ajoute une vue transitoire du type spécifié dans TView ainsi qu’un ViewModel du type TViewModel à l’IServiceCollection spécifiée. Inscrit également la vue pour la navigation par interpréteur de commandes sur l’itinéraire spécifié dans le paramètre de routage. Une RouteFactory
facultative peut être fournie pour contrôler la construction de 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
Type de vue à ajouter. Limité à NavigableElement
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
route
string
Itinéraire vers lequel la vue peut être acheminée dans l’interpréteur de commandes .NET MAUI.
factory (optional)
RouteFactory
La RouteFactory
pour contrôler la construction de vue.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
Inscrire la vue et le ViewModel contextuels
Les méthodes suivantes vous permettent d’inscrire des vues et des ViewModels basés sur des fenêtres contextuelles dans la IServiceCollection
.NET MAUI.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Ajoute une vue transitoire du type spécifié dans TPopupView ainsi qu’un ViewModel du type TPopupViewModel à la 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 vue à ajouter. Limité à Popup
TViewModel
Type de ViewModel à ajouter. Limité aux types de références qui implémentent INotifyPropertyChanged
Paramètres
services
IServiceCollection
L’IServiceCollection à laquelle ajouter la vue et le ViewModel.
Retours
IServiceCollection Une référence à cette instance une fois l’opération terminée.
API
Vous pouvez trouver le code source deServiceCollectionExtensions
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit