问题标签 [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.

0 投票
1 回答
363 浏览

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事件从未被触发。

还有其他想法吗?

0 投票
0 回答
277 浏览

c# - 如何获取 WinUI 控件的父窗口?

我需要获取对父级的引用以Microsoft.UI.Xaml.Window获取Control. Project Reunion 0.5 中有没有办法做到这一点?Window.Current在桌面应用程序中不起作用。

0 投票
1 回答
301 浏览

c# - WinUI3 桌面导航

我正在尝试使用 Project Reunion 将使用 UWP 开发的应用程序移植到桌面中的 WinUI。到目前为止,我更新了应用程序,它编译得很好。但是我在理解如何在 WinUI 3 中实现导航时遇到了问题,在 UWP 应用程序中,我有一个包含整个应用程序导航系统的 mainshell,但在 WinUI 中,我如何实现这样的导航系统。我一直在寻找样品,但可用的信息很少。

非常感谢。

0 投票
1 回答
159 浏览

c# - 如何将 ContentDialog 包装在自定义控件中?

我正在尝试制作一个可重复使用的 WinUI 对话框来显示进度信息,但我希望我使用 aContentDialog作为实现细节而不公开其 API 的事实。我想我可以通过派生Control并创建其ContentDialog内部来做到这一点ControlTemplate

像这样的东西:

使用如下定义的样式:

然后我会像这样显示对话框ContentDialog

我在 Generic.xaml 中指定了资源字典,但控件甚至不尝试加载模板。我的OnApplyTemplate方法永远不会被调用,所以_dialog不会被连接起来。我认为这是因为我实际上并没有在可视化树中创建控件,但那是怎么ContentDialog做的呢?

如果我打电话给ApplyTemplate()自己ShowAsync(),它会返回false并且模板仍然没有加载。

0 投票
0 回答
48 浏览

visual-studio-app-center - 有没有人成功地将 VS AppCenter 与 WinUI 3(项目重聚)应用程序一起使用?

  1. AppCenter 中没有 WinUI 项目。UWP 是最接近的。
  2. 在实现 AppCenter API 时,它会抱怨(崩溃),因为它需要 WinForms。
    • <UseWindowsForms>true</UseWindowsForms>通过添加项目中的空项目解决了这个问题
  3. 无法将 MSIXBUNDLE 上传到 AppCenter。可以上传 MSIX 本身。
  4. 不要在 AppCenter 中获取有关应用使用或崩溃的任何统计信息
0 投票
1 回答
312 浏览

c# - 在模块 WindowsBase.dll 中找不到类型 System.Windows.DependencyObject

我正在使用 WinUI 3。我使用了 Project Reunion 0.5(桌面中的空白应用 WinUI 3)。我删除了 x86 和 arm64 架构。一旦我添加了Microsoft.Identity.Clientnuget 包,我就有这个错误: Xaml Internal Error error WMC9999: Cannot find type System.Windows.DependencyObject in module WindowsBase.dll

有没有人有这个问题的解决方案?

0 投票
1 回答
1348 浏览

c# - System.ArgumentException:“值不在预期范围内。” 在内容对话框

我正在尝试在我的 UWP (WinUI3) 应用程序中创建登录系统,当我尝试启动登录内容对话框时,它崩溃并抛出此错误:

System.ArgumentException:“值不在预期范围内。”

await messageDialog.ShowAsync();

app.xaml.cs 上的代码:

内容对话框 XAML:

代码隐藏:

0 投票
2 回答
1773 浏览

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?

0 投票
4 回答
4043 浏览

visual-studio-2019 - “项目不知道热运行配置文件 MauiApp.WinUI”

我正在尝试开始使用全新的 .NET Maui 应用程序。创建项目后,它有一个 MauiApp 项目,以及另一个名为 MauiApp.WinUI 的项目。当我尝试在我的 Windows 10 设备上运行该应用程序时,我收到错误消息:“该项目不知道运行配置文件 MauiApp.WinUI 的热度”。我不知道该怎么做才能解决这个问题。有什么建议么?

0 投票
1 回答
808 浏览

c# - 内容对话框未显示 WINUI3

我正在尝试显示一个弹出窗口来编辑我的应用程序中的品牌,但它没有显示出来。

我调用对话框的功能:

内容对话框 XAML:

代码隐藏:

我已经尝试过调试并且正在调用内容对话框,所以我不知道为什么它没有出现。