我对 .Net MAUI 还很陌生,但在 Blazor 方面有相当的经验。我正在启动这个新项目,打算获得 MAUI 的好处。
我的问题是,我想在 Blazor 中使用一些来自 MAUI 的本地控件,例如底部工作表,但我不知道如何在 Blazor 中使用这些控件。
是否有办法在 .Net Blazor MAUI 应用程序中使用 MAUI 的控件?
我对 .Net MAUI 还很陌生,但在 Blazor 方面有相当的经验。我正在启动这个新项目,打算获得 MAUI 的好处。
我的问题是,我想在 Blazor 中使用一些来自 MAUI 的本地控件,例如底部工作表,但我不知道如何在 Blazor 中使用这些控件。
是否有办法在 .Net Blazor MAUI 应用程序中使用 MAUI 的控件?
您可以在xaml页面中使用MAUI组件。然后根据需要嵌入BlazorWebView控件。
以下是包含嵌入式BlazorWebView的MainPage.xaml:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:b="clr-namespace:Microsoft.AspNetCore.Components.WebView.Maui;assembly=Microsoft.AspNetCore.Components.WebView.Maui"
xmlns:local="clr-namespace:MauiBlazorApp"
x:Class="MauiBlazorApp.MainPage"
BackgroundColor="{DynamicResource PageBackgroundColor}">
<b:BlazorWebView HostPage="wwwroot/index.html">
<b:BlazorWebView.RootComponents>
<b:RootComponent Selector="app" ComponentType="{x:Type local:Main}" />
</b:BlazorWebView.RootComponents>
</b:BlazorWebView>
</ContentPage>
TL;DR
你可以通过提供的Application
类直接访问一些本地对话框控件。
public async Task<bool> DisplayConfirm(string title, string message, string accept, string cancel)
{
return await Application.Current.MainPage.DisplayAlert(title, message, accept, cancel);
}
所以有人向我推荐了这个YouTube视频,它恰好完成了我想要做的事情。 看一下:https://www.youtube.com/watch?v=gTLEIe0SWpI
.NET MAUI 应用程序在每个移动/桌面平台上都是本地的 - 它们通过现代 WebViews 欢迎 Blazor/web 内容。.NET MAUI 本地组件可以与 Blazor 内容混合使用 - 基本上是在 XAML 页面中托管一个 BlazorWebView,渲染 Web 内容。开发人员可以通过 XAML 混合 Blazor UI 渲染本地 UI - 有一些 .NET MAUI UI 组件 可以帮助实现。还可以通过 Blazor 驱动更多的应用程序 UI,并在 Web/本地应用程序之间 共享代码。
BlazorWebView
控件来托管页面中的Blazor部分。