问题标签 [winui-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 为什么 .NET 通用主机在与 WinUI3 一起使用时不会停止?
我正在使用 .NET 5 编写一个 WinUI3 (Project Reunion 0.5) 应用程序,并希望使用 .NET 通用主机。我正在使用带有自定义的默认主机IHostedService
:
托管服务在StopAsync
. 出于演示目的,假设它延迟 1 秒(此代码仍然会产生问题):
我在以下位置启动主机OnLaunched
:
我让默认ConsoleLifetime
实现在进程退出之前停止主机。
Task
我的实现返回的完成IHostedService.StopAsync
,但IHost.StopAsync
永远不会返回,并且该过程在输出中挂起此消息:
如果我使用调试器单步执行,有时该IHost.StopAsync
方法会超时并引发异常。这永远不会在调试器之外发生。我已经尝试在关闭时明确停止和处置主机MainWindow
,但这没有任何区别。
我想也许在DispatcherQueueSynchronizationContext
主机可以停止并且任务没有得到服务之前被关闭,但该DispatcherQueue.ShutdownStarting
事件从未被触发。
还有其他想法吗?
c# - 如何获取 WinUI 控件的父窗口?
我需要获取对父级的引用以Microsoft.UI.Xaml.Window
获取Control
. Project Reunion 0.5 中有没有办法做到这一点?Window.Current
在桌面应用程序中不起作用。
c# - WinUI3 桌面导航
我正在尝试使用 Project Reunion 将使用 UWP 开发的应用程序移植到桌面中的 WinUI。到目前为止,我更新了应用程序,它编译得很好。但是我在理解如何在 WinUI 3 中实现导航时遇到了问题,在 UWP 应用程序中,我有一个包含整个应用程序导航系统的 mainshell,但在 WinUI 中,我如何实现这样的导航系统。我一直在寻找样品,但可用的信息很少。
非常感谢。
c# - 如何将 ContentDialog 包装在自定义控件中?
我正在尝试制作一个可重复使用的 WinUI 对话框来显示进度信息,但我希望我使用 aContentDialog
作为实现细节而不公开其 API 的事实。我想我可以通过派生Control
并创建其ContentDialog
内部来做到这一点ControlTemplate
。
像这样的东西:
使用如下定义的样式:
然后我会像这样显示对话框ContentDialog
:
我在 Generic.xaml 中指定了资源字典,但控件甚至不尝试加载模板。我的OnApplyTemplate
方法永远不会被调用,所以_dialog
不会被连接起来。我认为这是因为我实际上并没有在可视化树中创建控件,但那是怎么ContentDialog
做的呢?
如果我打电话给ApplyTemplate()
自己ShowAsync()
,它会返回false
并且模板仍然没有加载。
visual-studio-app-center - 有没有人成功地将 VS AppCenter 与 WinUI 3(项目重聚)应用程序一起使用?
- AppCenter 中没有 WinUI 项目。UWP 是最接近的。
- 在实现 AppCenter API 时,它会抱怨(崩溃),因为它需要 WinForms。
<UseWindowsForms>true</UseWindowsForms>
通过添加项目中的空项目解决了这个问题
- 无法将 MSIXBUNDLE 上传到 AppCenter。可以上传 MSIX 本身。
- 不要在 AppCenter 中获取有关应用使用或崩溃的任何统计信息
c# - 在模块 WindowsBase.dll 中找不到类型 System.Windows.DependencyObject
我正在使用 WinUI 3。我使用了 Project Reunion 0.5(桌面中的空白应用 WinUI 3)。我删除了 x86 和 arm64 架构。一旦我添加了Microsoft.Identity.Client
nuget 包,我就有这个错误: Xaml Internal Error error WMC9999: Cannot find type System.Windows.DependencyObject in module WindowsBase.dll
。
有没有人有这个问题的解决方案?
c# - System.ArgumentException:“值不在预期范围内。” 在内容对话框
我正在尝试在我的 UWP (WinUI3) 应用程序中创建登录系统,当我尝试启动登录内容对话框时,它崩溃并抛出此错误:
System.ArgumentException:“值不在预期范围内。”
在await messageDialog.ShowAsync();
app.xaml.cs 上的代码:
内容对话框 XAML:
代码隐藏:
c# - WinUI 3.0 桌面 - C# 页面导航
我正在尝试做一个简单的页面导航,但我无法在 WinUI 3.0 中找到有关如何做到这一点的任何文档。
目前,当我使用 WinUI 3.0 创建一个空白应用程序时,我在 App.xaml.cs 中创建了以下代码
虽然在我在网上找到的许多其他示例中,根框架是在上面的 OnLaunched 事件中定义的。
我如何定义 MainWindow.xaml 或 App.xaml 以便我可以获得一个可以在 Page1.xaml 和 Page2.xaml 之间自由切换的框架?
编辑:我现在发现我可以通过调用来检索框架:
但导航失败并出现System.NullReferenceException: 'Object reference not set to an instance of an object.'
错误。我在做什么错:S?
visual-studio-2019 - “项目不知道热运行配置文件 MauiApp.WinUI”
我正在尝试开始使用全新的 .NET Maui 应用程序。创建项目后,它有一个 MauiApp 项目,以及另一个名为 MauiApp.WinUI 的项目。当我尝试在我的 Windows 10 设备上运行该应用程序时,我收到错误消息:“该项目不知道运行配置文件 MauiApp.WinUI 的热度”。我不知道该怎么做才能解决这个问题。有什么建议么?
c# - 内容对话框未显示 WINUI3
我正在尝试显示一个弹出窗口来编辑我的应用程序中的品牌,但它没有显示出来。
我调用对话框的功能:
内容对话框 XAML:
代码隐藏:
我已经尝试过调试并且正在调用内容对话框,所以我不知道为什么它没有出现。