问题标签 [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 回答
107 浏览

c# - 如何让 Canvas 在 WinUI 3 中滚动?

当 Canvas 的孩子不在视线范围内时,我无法让 ScrollBars 出现在 Canvas 上。这被直接添加到 MainWindow。

因此,正在添加水平和垂直方向看不见的儿童。我已经尝试了滚动条可见性、对齐方式等的各种设置,但只是无法让滚动条出现。感谢您的任何意见。

0 投票
0 回答
147 浏览

c# - 在 WinUI 3 中的 Microsoft.UI.Composition 中进行命中测试

我正在使用Microsoft.UI.CompositionWinUI 3 中的命名空间将视觉效果渲染到Canvas如下所示:

但是,当我尝试Canvas使用VisualTreeHelper.FindElementsInHostCoordinates进行测试时,它不会产生任何结果,因为它是 aShapeVisual而不是UIElement。怎么可能命中测试ShapeVisual?我需要深入CanvasGeometry.FillContainsPoint()研究 Win2D 还是有更简单的方法?

0 投票
0 回答
30 浏览

c# - C# WinUI3 UWP - NavigationView - PaneDisplayMode 有可能吗?

我想在 WinUI3 UWP 的一个 XAML 页面上使用两个 NavigationalView,有没有办法让一个贴在右边,一个贴在左边?

期望状态: 期望的状态(由 RenderTransform 完成)

当前状态: 当前状态

我考虑过使用 RenderTransform,如您在图像中看到的那样,但这会转换所有内容,甚至是文本和图标……我考虑过样式,但我不知道如何实现如此复杂的样式。否则我没有想法。

任何帮助将不胜感激。

0 投票
1 回答
269 浏览

windows - 是否有 WinUI 3 XAML 的参考?

我正在努力加快构建现代 Windows 应用程序的速度,自 .NET Forms 的辉煌时代以来还没有这样做过。

我正在尝试学习 WinUI 3 (0.8 reunion),而让我感到困惑的是,似乎在任何地方都没有一个有凝聚力的参考。一个地方会告诉我哪些元素可以放入 XAML 文件中的哪些元素等,因此我可以通过阅读参考立即知道,例如,您不能将 a<Span>放入 a<RichTextBlock>中,而不必看到奇怪的深奥错误.

MS 的网站周围有一些分散的示例,但我无法找到一个以清晰的方式包含所有这些的单一资源。我可以查找 RichTextBlock 并了解它具有哪些属性,但它没有提供关于它可以包含哪些元素的简单概述。

0 投票
2 回答
514 浏览

.net - WinUI3 应用程序引发异常 - 我错过了什么?

我最近升级了 Visual Studio 2019 以安装 Project Reunion 模板,以便我可以运行 WinUI3 应用程序。我按照这个指南。我相信我安装了这个列表中的所有工作负载和组件,但我可能遗漏了一些东西。我安装了模板,当我尝试创建新应用程序时它们会显示出来。

在此处输入图像描述

这里是我的 Visual Studio 安装的详细信息。

微软 Visual Studio 专业版 2019

版本 16.11.3

VisualStudio.16.Release/16.11.3+31702.278

微软 .NET 框架

版本 4.8.04084

当我尝试运行应用程序时,我收到以下错误消息:

System.Reflection.TargetInvocationException HResult=0x80131604 Message=异常已被调用的目标抛出。Source=System.Private.CoreLib StackTrace:在 System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,Boolean publicOnly,Boolean wrapExceptions,Boolean& canBeCached,RuntimeMethodHandleInternal&ctor,Boolean& hasNoDefaultCtor)在 System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly,Boolean wrapExceptions,Boolean fillCache)在 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions) at System.Activator.CreateInstanceT at WinRT.WeakLazy`1.get_Value() at Microsoft.UI.Xaml.Application._IApplicationStatics.get_Instance() at App9.Program 中的 Microsoft.UI.Xaml.Application.Start(ApplicationInitializationCallback 回调)。

此异常最初是在此调用堆栈中引发的:[外部代码]

内部异常1:COMException:未注册类(0x80040154(REGDB_E_CLASSNOTREG))

已安装的工作负载:

在此处输入图像描述

在此处输入图像描述

指南说要安装C++ (v142) Universal Windows Platform tools。我在安装程序中看到了这个:

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
35 浏览

uwp - XDG0062 未能在索引 0 处检索子项

我花了大约 7 个小时试图让 WinUI 在我的 UWP POC 中使用。在这一点上,我需要任何我能得到的帮助我花了几个小时浏览所有关于安装 WinUI 的微软页面,但完全没有得到任何帮助。在我从事的项目中,我希望拥有一些 WinUI 添加到 UWP 的控件。我从 microsoft 下载了 XamlControlsGallery,以查看所有可用于 UWP 的内容,我喜欢那里的内容。我不喜欢的是我花了多少时间尝试在我的 UWP POC 中实现这一点。有时我可以启动应用程序,但我得到的只是一个启动屏幕,它给了我第二张图片中显示的内容。任何帮助将不胜感激这里是我得到的错误的屏幕截图。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
104 浏览

c# - 在没有 DynamicResource 的 WinUI3 中使用系统颜色 - 有可能吗?

我正在将一些 XAML 从 WPF 移植到 WinUI3。据我目前了解,我不能在 WinUI3 中使用 DynamicResource,但是有没有任何解决方法可以在 WPF 中使用像这样的系统颜色:

0 投票
2 回答
902 浏览

windows-runtime - 如何使用 WinRT/C++ 在 WinUI3 中打开新窗口?

如何在 WinRT / WinUI3 中打开新窗口?我想单击一个按钮并在当前/主窗口顶部打开另一个浮动窗口。

我已经尝试了几个零运气样本的代码:

大多数 C++ WinUI3 文档中仍然只有 C# 代码示例,因此对我来说基本上没用。我只想打开一个新窗口,别无其他。

0 投票
1 回答
637 浏览

c# - 如何在 WinUI-3 中透明主窗口

不要严格判断。我刚开始学习WinUI。使用 WPF,我可以在 XAML 标记中使主窗口透明。是否可以使用 Reunion 使主窗口透明?我需要这个来制作我形状的程序窗口。窗口对象的属性很少。我只找到了如何更改 TitleBar。和更多:

  • 我可以像在 Windows 11 上一样使用 reunion 在 Windows 10 上制作圆角吗?
  • 云母材料是否适用于 Windows 10?
0 投票
1 回答
590 浏览

c# - WinUI 3.0 桌面 - C# 页面导航到现有页面实例

我已经开始使用微软的新 UI 技术 WinUI 3。

我的问题类似于这个WinUI 3.0 Desktop - C# Page Navigation,但我特别想知道导航到现有页面实例。

我的应用程序的主菜单包含一个NavigationView控件。

备注:我安装了这个示例解决方案(“xaml-controls-gallery”)以了解它的基本概念。

目前我在其中有 3 个NavigationViewItem实例:

属于相应菜单项的内容应显示在框架“rootFrame”中。对于内容,我创建了 Page 类:Page1、Page2 和 Page3。

在文件后面的代码中,我处理 NavigationView 的“ItemInvoked”事件。我检查 NavigationItem 的“标签”并设置要导航到的页面的类型。

但是,在Frame实例上调用“NavigateToType”总是会创建页面类的新实例。我想要的是不要放弃用户也对 UI 进行了一些更改的页面状态。所以我想导航到已经存在的页面实例。

我不知道如何做到这一点。

因此,在页面的“OnNavigatedTo”事件中, “e”参数的NavigationMode始终为 NavigationMode.New 而不是 NavigationMode.Refresh。这是“Page1”的示例:

有人知道如何导航到现有页面实例吗?

作为一种解决方法,我尝试直接交换框架的内容:

但我真的不想这样做,因为这会绕过基于框架的导航,并且在导航到其他页面时也不会显示动画。

似乎在 WPF 和“旧”.NET 框架中,有一个类NavigationWindow用于此目的,但在 WinUi 中(尚不存在)。