ServiceCollectionExtensions
. ServiceCollectionExtensions
NET MAUI IServiceCollection
내에서 Views 및 관련 ViewModel 등록을 간소화하는 일련의 확장 메서드를 제공합니다.
ServiceCollectionExtensions
네임스페이 CommunityToolkit.Maui
스 아래에서 찾을 수 있으므로 시작하려면 다음 줄을 추가하기만 하면 됩니다.
using CommunityToolkit.Maui;
참고: 이러한 확장 메서드는 View 및 ViewModels만 등록합니다
IServiceCollection
. 개발자는 ViewModel의 삽입된 인스턴스를 View의 속성에BindingContext
할당할 책임이 있습니다.또한 이러한 확장 메서드는 View와 ViewModel 간에 일대일 관계가 있고 둘 다 동일한 수명을 공유한다고 가정합니다. 개발자는 서로 다른 수명을 지정하거나 여러 뷰에서 동일한 ViewModel을 사용하는 시나리오를 처리하기 위해 Views 및 ViewModel을 개별적으로 등록하도록 되돌리기 합니다.
뷰 및 ViewModel 등록
다음 메서드를 사용하면 .NET MAUI 내에서 Views 및 ViewModel을 등록할 수 있습니다 IServiceCollection
.
AddScoped<TView, TViewModel>(IServiceCollection)
TView에 지정된 형식의 범위가 지정된 뷰 및 TViewModel 형식의 ViewModel을 지정된 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>();
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 BindableObject
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
AddSingleton<TView, TViewModel>(IServiceCollection)
TView에 지정된 형식의 Singleton View 및 TViewModel 형식의 ViewModel을 지정된 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>();
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 BindableObject
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
AddTransient<TView, TViewModel>(IServiceCollection)
TView에 지정된 형식의 임시 뷰와 TViewModel 형식의 ViewModel을 지정된 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>();
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 BindableObject
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
셸 경로를 사용하여 뷰 및 ViewModel 등록
다음 메서드를 사용하면 .NET MAUI 내에서 Views 및 ViewModels를 등록하고 .NET MAUI IServiceCollection
Shell 라우팅 내에서 뷰에 대한 경로를 명시적으로 등록할 수 있습니다.
AddScopedWithShellRoute<TView, TViewModel>(서비스, 경로, 팩터리)
TViewModel 형식의 TView 및 ViewModel에 지정된 형식의 범위가 지정된 뷰를 지정된 IServiceCollection에 추가하고 경로 매개 변수에 지정된 경로에서 셸 탐색에 대한 보기를 등록합니다. 뷰 생성을 제어하기 위한 선택적 RouteFactory
옵션을 제공할 수 있습니다.
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");
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 NavigableElement
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
route
string
.NET MAUI Shell 내에서 뷰를 탐색할 수 있는 경로입니다.
factory (optional)
RouteFactory
RouteFactory
뷰 생성을 제어할 수 있습니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
AddSingletonWithShellRoute<TView, TViewModel>(서비스, 경로, 팩터리)
TViewModel 형식의 TView 및 ViewModel에 지정된 형식의 Singleton View를 지정된 IServiceCollection에 추가하고 경로 매개 변수에 지정된 경로에서 셸 탐색에 대한 보기를 등록합니다. 뷰 생성을 제어하기 위한 선택적 RouteFactory
옵션을 제공할 수 있습니다.
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");
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 NavigableElement
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
route
string
.NET MAUI Shell 내에서 뷰를 탐색할 수 있는 경로입니다.
factory (optional)
RouteFactory
RouteFactory
뷰 생성을 제어할 수 있습니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
AddTransientWithShellRoute<TView, TViewModel>(서비스, 경로, 팩터리)
TViewModel 형식의 TView 및 ViewModel에 지정된 형식의 임시 보기를 지정된 IServiceCollection에 추가하고 경로 매개 변수에 지정된 경로에서 셸 탐색에 대한 보기를 등록합니다. 뷰 생성을 제어하기 위한 선택적 RouteFactory
옵션을 제공할 수 있습니다.
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");
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 NavigableElement
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
route
string
.NET MAUI Shell 내에서 뷰를 탐색할 수 있는 경로입니다.
factory (optional)
RouteFactory
RouteFactory
뷰 생성을 제어할 수 있습니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
팝업 보기 및 보기 모델 등록
다음 메서드를 사용하면 .NET MAUI 내에서 팝업 기반 Views 및 ViewModel을 등록할 수 있습니다 IServiceCollection
.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
TPopupView에 지정된 형식의 임시 뷰와 TPopupViewModel 형식의 ViewModel을 지정된 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>();
}
}
형식 매개 변수
TView
추가할 보기의 형식입니다. 다음으로 제한됨 Popup
TViewModel
추가할 ViewModel의 형식입니다. 구현하는 참조 형식으로 제한됨 INotifyPropertyChanged
매개 변수
services
IServiceCollection
View 및 ViewModel을 추가할 IServiceCollection입니다.
반품
작업이 완료된 후 IServiceCollection 이 인스턴스에 대한 참조입니다.
API
.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 오버에 대한 ServiceCollectionExtensions
소스 코드를 찾을 수 있습니다.
.NET MAUI Community Toolkit