我有点困惑。任何人都可以确切地解释两者之间的区别是什么?我们什么时候应该使用 MAUI,什么时候使用 UNO?正如我意识到的,两者都可以运行在不同的平台上,那么同时引入两种不同的技术的原因是什么?它们可以在 Windows 7 上运行吗?或者它们仅限于 Windows 10?我的 WPF 程序可以使用这两种技术在 Linux 上运行吗?
如何将 .net MAUI 应用程序发布为单个可执行文件?这可能吗?我有一个应用程序,希望我的朋友在他们的 Windows PC 上使用。有什么办法不使用命令提示符吗?
有没有办法像 Xamarin 一样绑定本机库?我尝试在新的 .NET Maui 中进行一些本机实现,但尚未取得成功。如果有人有一些相关信息,我将非常感激。
我在 .Net MAUI 中使用 CommunityToolkit.Mvvm 8.0.0 包。
我有一个简单的课程如下:
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Collections;
using CommunityToolkit.Mvvm.DependencyInjection;
using CommunityToolkit.Mvvm.Messaging;
namespace My.ViewModels
{
public partial class BaseViewModel:ObservableObject
{
public BaseViewModel()
{
}
[ObservableProperty]
[AlsoNotifyChangeFor(nameof(IsNotBusy))] <<<< Compilation error here
bool isBusy;
[ObservableProperty]
string title;
public bool IsNotBusy => !isBusy;
}
}
Run Code Online (Sandbox Code Playgroud)
此类在属性AlsoNotifyChangeFor上引发编译错误。
对于要使用的属性,它显示“找不到类型或命名空间名称”。
在哪里可以找到使用此属性的正确包?
我已经从 MAUI 预览版 10 中的 MAUI Blazor 应用程序模板创建了一个小型应用程序,并将其定位并在 Windows 上运行。然而,我希望设置应用程序的标题,我想象这将通过 MainPage.xaml ContentPage 标记中的 Title 属性来完成。然而,这在启动应用程序时没有任何作用。
如何在 Web 浏览器中运行 MAUI Blazor 应用程序?我已将 VS MAUI 与 Blazor 示例项目结合使用
我是 MAUI 新手,具有 Xamarin.Forms 的基本知识
我想向 MAUI 中的 Entry 控件添加底部边框(和边框刻度)。
在 Xamarin.Forms 上,我们必须创建一个自定义控件,然后为每个平台创建一个渲染器。
在发布此消息之前,我在互联网上进行了研究。它涉及处理程序,我的印象是它只允许基本修改(更改背景颜色等......)。
我对所有这些信息有点困惑,如果有人能启发我,我将不胜感激。
我正在将我们的应用程序从 Xamarin 迁移到 MAUI,并且在 Android 和 iOS 上的 WebView 中迁移处理 JS/.NET 交互的代码时遇到了一些困难。让我们重点关注Android。尤其是在 WebView 中从 JS 调用 .NET 代码。
在Xamarin中,我们可以做这样的事情(基本上根据本教程https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview):
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
Control.RemoveJavascriptInterface("jsBridge");
}
if (e.NewElement != null)
{
Control.SetWebViewClient(new JavascriptWebViewClient(this, $"javascript: {JavascriptFunction}"));
Control.AddJavascriptInterface(new JsBridge(this), "jsBridge");
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class JavascriptWebViewClient : FormsWebViewClient
{
private readonly string javascript;
public JavascriptWebViewClient(HybridWebViewRenderer renderer, string javascript) : base(renderer)
{
this.javascript = javascript;
}
public override void OnPageFinished(WebView view, string url)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个使用 VS2022 Preview 2 创建的 .NET MAUI 项目,它的构建没有错误或警告,并且在调试器中按预期工作。在将 Visual Studio 更新到版本 17.4.0 Preview 4.0 之前,我能够从 VS 内将项目发布为可旁加载的 MSIX。
更新后,当我在“创建应用程序包”向导中单击“创建”时,出现以下错误:
MSB4057 The target "_GenerateAppxPackage" does not exist in the project.
Run Code Online (Sandbox Code Playgroud)
该错误已在 MAUI 项目的 .csproj 文件中列出。
我尝试在新预览中创建一个单独的新默认 MAUI 项目 - 此发布正常并且(据我所知)不包含_GenerateAppxPackage其文件或项目结构中的任何位置。所以现在我假设这不是预览版中添加的新内容。
_GenerateAppxPackage我在网上找到了一些参考资料,但它们似乎是指 Azure 集成。我的项目是一个独立的数据转换应用程序,甚至不访问网络。
我不知道下一步该尝试什么。我不知道这个目标指的是什么,它应该在项目中“存在”的什么地方,或者它的作用是什么。谁能帮助我理解问题和/或指出解决方案?
更新:2022年10月28日:
我尝试删除项目结构并使用“文件”->“新建项目”从头开始创建它,然后仅添加回.cs 和 .xaml 文件。发布重新创建的项目给了我同样的错误。
我还尝试卸载VS预览版并重新下载并安装它。再次,发布项目给了我同样的错误。
我仍然不知道是什么原因造成的,甚至不知道从哪里开始寻找。
返回时返回错误:Unknown PdfException。- - > System.NotSupportedException:itext7.bouncy-castle-adapter 或itext7。bouncy-castle-fips-adap...在线
Var writer = new PdfWriter(stream);
Run Code Online (Sandbox Code Playgroud)
我的代码是尝试使用 itext7 扩展名创建一个 pdf 文件。In.net maui 的移动应用程序。
public static MemoryStream CreatePdf()
{
try
{
using (var stream = new MemoryStream())
{
var writer = new PdfWriter(stream);
var pdf = new PdfDocument(writer);
var document = new Document(pdf);
var paragraph = new Paragraph("hello");
document.Add(paragraph);
document.Close();
stream.Position = 0;
return stream;
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)