我是.Net MAUI的新手,但对Blazor相当有经验。我开始这个新项目,我打算得到的好处MAUI。我的问题是,我想使用一些本地控件从MAUI,一个例子是底部工作表,但我不知道如何使用这些控件在Blazor。有没有办法在.Net Blazor MAUI应用程序中使用MAUI的控件?
gstyhher1#
你不能在blazor页面中使用MAUI组件(xaml)。但是,如果需要的话,您可以将blazorwebview与其他MAUI元素混合在一起。我这样做是为了读取QR码:我在主视图中有一个片段,它有一个MAUI QR阅读器,只有当按下Blazor页面中的一个按钮时,我才能看到它,我甚至将MAUI片段覆盖在Blazor视图上。您还应该知道的是,您可以通过使用DI工具注入的公共对象从MAUI通信到Blazor,反之亦然。该对象将具有方法和事件以允许这种通信。
vatpfxk52#
您可以在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>
yftpprvb3#
TL;DR您可以从开箱即用的Application类访问一些本机对话框控件。
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
7qhs6swi4#
.NET MAUI应用程序在每个移动的/桌面平台上都是原生的-它们通过现代WebView欢迎Blazor/Web内容。.NET MAUI本机组件可以与Blazor内容混合匹配-本质上是XAML页面内托管的BlazorWebView呈现Web内容。没有什么可以阻止开发人员通过XAML与Blazor UI混合呈现本机UI -有.NET MAUI UI components可以提供帮助。人们还可以通过Blazor和share code在Web/本机应用程序之间驱动更多的应用程序UI。
4条答案
按热度按时间gstyhher1#
你不能在blazor页面中使用MAUI组件(xaml)。但是,如果需要的话,您可以将blazorwebview与其他MAUI元素混合在一起。我这样做是为了读取QR码:我在主视图中有一个片段,它有一个MAUI QR阅读器,只有当按下Blazor页面中的一个按钮时,我才能看到它,我甚至将MAUI片段覆盖在Blazor视图上。
您还应该知道的是,您可以通过使用DI工具注入的公共对象从MAUI通信到Blazor,反之亦然。该对象将具有方法和事件以允许这种通信。
vatpfxk52#
您可以在xaml页面中使用MAUI组件。然后您可以根据需要嵌入BlazorWebView控件。
下面是嵌入了BlazorWebView的MainPage.xaml:
yftpprvb3#
TL;DR您可以从开箱即用的
Application
类访问一些本机对话框控件。所以我被推荐到这个YouTube视频,它做的正是我想做的。看一看:https://www.youtube.com/watch?v=gTLEIe0SWpI
7qhs6swi4#
.NET MAUI应用程序在每个移动的/桌面平台上都是原生的-它们通过现代WebView欢迎Blazor/Web内容。.NET MAUI本机组件可以与Blazor内容混合匹配-本质上是XAML页面内托管的BlazorWebView呈现Web内容。没有什么可以阻止开发人员通过XAML与Blazor UI混合呈现本机UI -有.NET MAUI UI components可以提供帮助。人们还可以通过Blazor和share code在Web/本机应用程序之间驱动更多的应用程序UI。