跳转到主要内容

Maui学习记录

MauiProgram引入扩展
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder.UseMauiApp<App>();
            builder.ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
            });
            builder.UsePrism(prism =>
            {
                prism.ConfigureServices(service =>
                {
                    RestClientOptions restClientOptions = new()
                    {
                        //restClientOptions.RemoteCertificateValidationCallback += (sender, cert, chain, error) => true;
                        BaseUrl = new Uri("https://dynamicapi.lingyanspace.com"),
                        MaxRedirects = 5,
                        Timeout = TimeSpan.FromMinutes(3),
                        ThrowOnAnyError = true
                    };

                    RestClient restClient = new(restClientOptions);
                    service.AddSingleton(restClient);
                    service.AddSingleton<ICourseService, CourseService>();
                });
                prism.RegisterTypes(container =>
                {
                    //注册MainPage到导航
                    container.RegisterForNavigation<MainPage>();
                    container.RegisterForRegionNavigation<HomeView, HomeViewModel>();
                });
                prism.OnInitialized((container) =>
                {
                    var regionManager = container.Resolve<IRegionManager>();
                    regionManager.RegisterViewWithRegion("MainRegion", nameof(HomeView));
                });

                //导航到根目录
                prism.CreateWindow(navigationService => navigationService.NavigateAsync($"/{nameof(MainPage)}"));
            });

#if DEBUG
            builder.Logging.AddDebug();
#endif

            return builder.Build();
        }
    }

主页面添加区域

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="LearnMirro.MainPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:prism="http://prismlibrary.com"
    Title="MainPage"
    Background="#eee">
    <ContentView prism:RegionManager.RegionName="MainRegion" />
</ContentPage>