Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ServiceCollectionExtensions tillhandahåller en serie tilläggsmetoder som förenklar registreringen av vyer och tillhörande ViewModels i .NET MAUI IServiceCollection.
Finns ServiceCollectionExtensions under CommunityToolkit.Maui namnområdet så lägg bara till följande rad för att komma igång:
using CommunityToolkit.Maui;
Obs! Dessa tilläggsmetoder registrerar endast View och ViewModels i
IServiceCollection. Utvecklare är fortfarande ansvariga för att tilldela den injicerade instansen av ViewModel till egenskapenBindingContextför View.Dessutom förutsätter dessa tilläggsmetoder att det finns en en-till-en-relation mellan View och ViewModel och att båda delar samma livslängd. Utvecklare måste återgå till att registrera vyer och ViewModels individuellt för att kunna ange olika livslängder eller hantera scenarier där flera vyer använder samma ViewModel.
Registrera vyer och ViewModels
Med följande metoder kan du registrera vyer och ViewModels i .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Lägger till en begränsad vy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna 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>();
}
}
Typparametrar
Tview
Typen av vy som ska läggas till. Begränsad till BindableObject
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
IServiceCollection för att lägga till View och ViewModel i.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
AddSingleton<TView, TViewModel>(IServiceCollection)
Lägger till en singleton-vy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna 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>();
}
}
Typparametrar
Tview
Typen av vy som ska läggas till. Begränsad till BindableObject
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som vyn och visningsmodellen ska läggas till i.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
AddTransient<TView, TViewModel>(IServiceCollection)
Lägger till en tillfällig vy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna 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>();
}
}
Typparametrar
Tview
Typen av View som ska läggas till. Begränsad till BindableObject
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som View och ViewModel ska läggas till i.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
Registrera vyer och ViewModels med Shell Route
Med följande metoder kan du registrera vyer och ViewModels i .NET MAUI IServiceCollection och uttryckligen registrera en väg till vyn i .NET MAUI Shell-routning.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Lägger till en begränsad vy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna IServiceCollection och registrerar vyn för Shell-navigering på den väg som anges i routningsparametern. Du kan ange ett valfritt RouteFactory alternativ för att styra visningskonstruktionen.
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");
}
}
Typparametrar
Tview
Typen av View som ska läggas till. Begränsad till NavigableElement
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som View och ViewModel ska läggas till i.
route
Sträng
Den väg som vyn kan navigeras till i .NET MAUI Shell.
factory (optional)
RouteFactory
Den RouteFactory för att styra skapandet av View.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Lägger till en singletonvy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna IServiceCollection och registrerar vyn för Shell-navigeringen på den väg som anges i routningsparametern. Du kan ange ett valfritt RouteFactory alternativ för att styra visningskonstruktionen.
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");
}
}
Typparametrar
Tview
Typen av View som ska läggas till. Begränsad till NavigableElement
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som View och ViewModel ska läggas till i.
route
Sträng
Den väg som vyn kan navigeras till i .NET MAUI Shell.
factory (optional)
RouteFactory
RouteFactory för att styra View-konstruktionen.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Lägger till en tillfällig vy av den typ som anges i TView och ViewModel av typen TViewModel till den angivna IServiceCollection och registrerar vyn för Shell-navigering på den väg som anges i routningsparametern. Du kan ange ett valfritt RouteFactory alternativ för att styra visningskonstruktionen.
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");
}
}
Typparametrar
Tview
Typen av View som ska läggas till. Begränsad till NavigableElement
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som View och ViewModel ska läggas till i.
route
Sträng
Den väg som vyn kan navigeras till i .NET MAUI Shell.
factory (optional)
RouteFactory
RouteFactory för att styra skapandet av vyn.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
Registrera popup-vy och vymodell
Med följande metoder kan du registrera popup-baserade vyer och ViewModels i .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Lägger till en tillfällig vy av den typ som anges i TPopupView och ViewModel av typen TPopupViewModel till den angivna 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>();
}
}
Typparametrar
Tview
Typen av View som ska läggas till. Begränsad till Popup
TViewModel
Typen av ViewModel som ska läggas till. Begränsad till referenstyper som implementerar INotifyPropertyChanged
Parameters
services
IServiceCollection
Den IServiceCollection som View och ViewModel ska läggas till i.
Returns
IServiceCollection En referens till den här instansen när åtgärden har slutförts.
API
Källkoden för ServiceCollectionExtensions finns på lagringsplatsen .NET MAUI Community Toolkit GitHub.
.NET MAUI Community Toolkit