问题标签 [winui]

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 投票
0 回答
156 浏览

xaml - WinUI 3 可以用于 xaml 树的屏幕外渲染吗?

我想使用新的 WinUI 3 框架将 2D xaml 树渲染到 DirectX 纹理。

理想情况下,我希望能够为 WinUI 基础结构提供我自己的 DirectX 设备、上下文和渲染目标,并将 xaml 内容渲染到我的渲染目标上。

我基本上想将 WinUI 3 嵌入到现有的 3D 图形引擎中。

通过浏览文档,我可以看到通过CompositionGraphicsDevice类存在某种形式的DirectX 互操作性。但是我一直无法理解这种机制是否旨在用于将自定义 D3D 内容嵌入到现有的基于 WinUI 的 UI 中或以其他方式。

那么这可以做到吗?WinUI 3 可以在不创建 Window的情况下用于 xaml 树的屏幕外渲染吗?您能否概述这样做所需的步骤?

0 投票
1 回答
90 浏览

c# - WinUI ItemsRepeater如何添加交错的项目入口动画?

ItemsControl 有一个ItemContainerTransitions支持<EntranceThemeTransition IsStaggeringEnabled="True" />. 我想转移到 ItemsRepeater 以提高大型列表的性能。但是 ItemsRepeater 似乎没有提供任何类似于EntranceThemeTransition. 任何人都知道我如何为 ItemsRepeater 实现类似的动画效果?

0 投票
1 回答
266 浏览

c# - 如何在 UWP 和 WinUi 中更改应用程序主题

我想更改我的 UWP (winui 2.5) App 主题,我使用了以下代码

在 App.xaml.cs 中

但是结果不是预期的如您所见,按钮在更改主题时出现问题我从 Microsoft Xaml Controls Gallery 示例项目中复制了代码

在此处输入图像描述

这是工作正常的微软样本

在此处输入图像描述

0 投票
1 回答
125 浏览

c# - UWP NavigationView BackButton 无法正常工作

我已经为我的页面设置了ExtendViewIntoTitleBar属性,并为我的 NavigationView 设置了IsTitleBarAutoPaddingEnabled="False"但是现在我无法轻松单击后退按钮(鼠标无法悬停后退按钮)

请看下面的图片

在此处输入图像描述

这是 microsoft 示例项目(xaml 控件库),可以很好地与这两个属性一起使用 在此处输入图像描述

我的另一个问题是如何将程序名称放在后退按钮旁边,就像在 Microsoft 示例项目中一样?

0 投票
1 回答
97 浏览

css - 视觉剪辑的不同角半径

我试图ClipVisual. 路径应该是具有不同角半径的圆角矩形。当前用于设置on a的API允许在所有四个角上设置统一的半径CornerRadiusRoundedRectangleGeometry

但我试图与background-radius允许为所有 4 个角设置不同的角半径的 CSS 属性保持一致:

导致具有所有四个不同椭圆角的东西

不同的圆角半径

所以本质上,我正在寻找一种方法来模拟Visual'Clip属性,让我能够实现与 CSS 属性类似的效果。

PS这是这个问题的持续努力。这是我已经尝试过的,但是在这种情况下,应用相同的偏移剪裁逻辑RoundedRectangle不起作用。该问题的答案不足以满足此要求,因为圆角半径对于 2 个角是相同的(在事实上所有 4 个角)在这种情况下,建议的解决方案不适用于所有不同的椭圆角。偏移剪裁RoundedRectangle在这里不起作用,因为我需要 4 个不同RoundedRectangle的 s ,然后以某种方式将它们定位在 s 上,Visual但该Clip属性只允许一个CompositionGeometricClip与一个Geometry

我正在使用C++/WinRT语言投影。

0 投票
0 回答
147 浏览

uwp - 为 CompositionClip 使用复杂路径

VisualUWP/WinUI 中的 s 可以Clip对它们应用一个CompositionClip. 其中一种类型CompositionClip是 a GeometricClip,它可以具有Geometry从类派生的各种类型CompositionGeometry。我正在寻找一个具有圆角矩形形状但具有不同椭圆角半径的剪辑,如下所示

在此处输入图像描述

这将非常适合,CompositionRoundedRectangleGeometry但该类有一个限制,即它支持在所有四个角上具有相同的椭圆半径,不允许不同的半径。所以剩下CompositionPathGeometryPath就是由一个CompositionPath实例定义的。这是我走到了死胡同的地方。

CompositionPath 实现IGeometrySource2D接口。我不知道如何使用这个IGeometrySource2D界面来构造一条带有线条和曲线的复杂路径。在线搜索导致这篇文章也避开了使用该接口,而是使用围绕CanvasPathGeometry它构建的类Windows Community Toolkit,如果我理解正确,仅适用于C#根据GitHub 页面的项目,并且对我不起作用,因为我需要一些东西在 C++ 中。

所以问题是:

  • 我们如何使用IGeometrySource2DCompositionPath创建复杂的形状?如果不可行,那么
  • 语言投影有什么等价CanvasPathGeometry物吗?C++/WinRT

PS我知道WinUI 3提供RectangleClip(根据this answer)适用于我的情况,但在UWP中不可用,所以这对我来说不是一个可行的解决方案。

编辑:

Win2D.UWP根据评论中共享的建议/指针,这是使用 NuGet 包的尝试。

这似乎有效

Win2DRoundedRecangle

现在,下一步将努力删除对et al的Win2D依赖,并使用其他接口来提供,因为我不希望将 NuGet 包作为项目依赖CanvasPathID2D1GeometryIGeomterySource2D

0 投票
0 回答
277 浏览

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

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

0 投票
1 回答
159 浏览

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

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

像这样的东西:

使用如下定义的样式:

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

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

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

0 投票
0 回答
103 浏览

wpf - 如何将“自定义事件”从“wpf”迁移到“winui”?

wpf到​​winui迁移如何

自定义路由事件?

找不到EventManager

0 投票
0 回答
43 浏览

c# - 创建一个框架并在 app.xaml.cs WinUI 3 上导航

我已将我的 UWP 应用程序移植到 WINUI,但我不知道如何将启动页面更改为 UserLoginPage 而不是 MainWindow。

我试过的:

应用程序正确启动,但在加载第一页时,它给了我以下错误:

xizSoft.exe 中的 0x770BA6F2 处引发异常:Microsoft C++ 异常:内存位置 0x0337E398 处的 winrt::hresult_error。

当我继续调试会话时,它只会将我带到 MainWindow。