Выделены отдельные расширения
This commit is contained in:
38
BotPages.Core/Context/PageContextNavigationExtensions.cs
Normal file
38
BotPages.Core/Context/PageContextNavigationExtensions.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
namespace BotPages.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Расширения <see cref="PageContext"/> для работы с <see cref="NavigationService"/>
|
||||
/// </summary>
|
||||
public static class PageContextNavigationExtensions
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Перейти по маршруту без аргументов.
|
||||
/// </summary>
|
||||
public static Task GoToHomeAsync(this PageContext ctx, CancellationToken ct)
|
||||
=> ctx.Navigation.GoToHomeAsync(ctx, ct);
|
||||
|
||||
/// <summary>
|
||||
/// Перейти по маршруту без аргументов.
|
||||
/// </summary>
|
||||
public static Task GoToAsync(this PageContext ctx, string route, CancellationToken ct)
|
||||
=> ctx.Navigation.GoToAsync(route, ctx, ct);
|
||||
|
||||
/// <summary>
|
||||
/// Перейти по маршруту с аргументами.
|
||||
/// </summary>
|
||||
public static Task GoToAsync<TArgs>(this PageContext ctx, string route, TArgs args, CancellationToken ct)
|
||||
=> ctx.Navigation.GoToAsync<TArgs>(route, args, ctx, ct);
|
||||
|
||||
/// <summary>
|
||||
/// Перейти на страницу без аргументов.
|
||||
/// </summary>
|
||||
public static Task GoToAsync<TPage>(this PageContext ctx, CancellationToken ct) where TPage : Page
|
||||
=> ctx.Navigation.GoToAsync<TPage>(ctx, ct);
|
||||
|
||||
/// <summary>
|
||||
/// Перейти на страницу с аргументами.
|
||||
/// </summary>
|
||||
public static Task GoToAsync<TPage, TArgs>(this PageContext ctx, TArgs args, CancellationToken ct) where TPage : StatefullPage<TArgs>
|
||||
=> ctx.Navigation.GoToAsync<TPage, TArgs>(ctx, args!, ct);
|
||||
}
|
||||
Reference in New Issue
Block a user