uno-platform - Uno WinUI 3.0 模板:UWP 和 Droid 中的不同命名空间
问题描述
我在 Uno 平台上遇到了 WinUI 模板的问题。例如,当从 Microsoft.UI.Xaml.Data 命名空间(我猜应该是正确的)实现 INotifyPropertyChanged 接口时,该应用程序可以在 UWP 上运行,但不能为 Droid 目标构建。使用 System.ComponentModel 命名空间(对于 WinUI 来说应该是过时的)应用程序为 Droid 目标构建和运行,但它不适用于 UWP 目标(意味着通知不由 UI 处理)。
提供的解决方案模板中似乎存在关于不同目标的混淆。我使用这些说明来创建解决方案:Uno 平台的模板
此外,我在目标 UWP、Droid 和 Wasm 上也遇到了差异。例如,绑定到 ObservableCollection 的 ItemsControl.ItemsSource 在 Droid 和 Wasm 上有效(更新 UI),但在 UWP 上无效。从 AutoSuggestBox 触发的事件在 Droid 上与在 UWP 上不同,等等。
在过去 3 周内多次更新 nuget-packages 修复了一些最初的问题,但该解决方案似乎仍不完全稳定。实际上,从今天开始更新所有 nuget-packages 时,该应用程序将不再在 Droid 上运行,说明运行时缺少一个库。
任何想法如何解决这些问题并在 Droid、UWP 和 Wasm 上获得具有相同行为的稳定解决方案?
解决方案
目前,对 Win3.0 的 UWP 没有很好的支持(例如INotifyPropertyChanged
未正确映射),仅正确支持桌面模板。
如果您使用当前unoapp-winui
模板(从 Uno 平台 3.5 开始),Windows 项目以 WinUI 3 桌面为目标。
推荐阅读
- java - 如何在不覆盖当前文本的情况下将文本添加到文本字段?
- python - 使用 Swig 在成员中使用互斥体包装 C++ 类时出现问题
- ios - 如何检测用户是否在 iOS 中离开我的应用程序?
- azure - 使用 Azure CLI 创建 Cosmos DB 容器时出现“找不到资源”错误
- sql - 计算经验而不重叠
- javascript - DynamoDB:ValidationException:提供的关键元素与架构不匹配
- ajax - 如何在 ajax 中为 laravel 发送 id
- c# - 使用带有 asp.net cshtml 的数据库
- garbage-collection - -XX:+CMSIncrementalMode 是在应用程序线程还是在 GC 专用线程上运行?
- c++ - 解决异常字符串以对向量进行浮动操作?