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

xaml - 在winui中引用​​图像的正确方法是什么

我正在尝试使用最新版本的 winui 显示图像,但没有成功。由于我缺乏进展,我认为我一定是做错了什么,但是,我无法确定那可能是什么。

这是我最近的尝试。

MainWindow.xaml:

图片

0 投票
1 回答
306 浏览

c# - 使用 WinUI 3 (Project Reunion) 开发应用程序时,有没有办法将应用程序设置为全屏模式?

在构建基于 WinUI3/Project Reunion 的应用程序时,似乎没有任何选项可将我的应用程序设置为全屏模式。我错过了什么吗?

0 投票
2 回答
530 浏览

c# - 使用 WinUI3/Project Reunion 0.5 时,我有哪些选择/打开文件和文件夹的选项?

实际上没有可用的 API 允许用户简单地单击我的应用程序中的一个按钮并显示一个允许他们选择文件的对话框。我在这里错过了什么吗?

0 投票
4 回答
1677 浏览

c# - WINUI 3.0 - Reunion 0.5 窗口大小///

我刚开始学习WinUI 3.0 ,在谷歌或Learn WinUI 3.0如何设置应用程序的默认窗口大小等书籍中找不到任何信息。我知道在 UWP 中它可以像

但实际上它在 WinUI 中不起作用

0 投票
1 回答
168 浏览

c# - 在窗口(WPF)中输出位图的最佳方式是什么?

我想做的事:

给定一个简单的位图(System.Drawing.Bitmap),我愿意将它输出到 WPF 应用程序中的窗口。我也愿意经常做,创建帧流。

我用过的:

首先,我一直在将 Bitmap 转换为 BitmapImage,然后将其分配给 Image 控件的 Source 字段。

这种方法的问题在于转换本身。它很慢。我还没有找到一种工作速度足够快的方法,最好的一个 640x480 位图需要大约 20 毫秒,这很慢。我希望找到一种方法可以在不到 5 毫秒的时间内完成任何常见的解决方案或解决整个问题的不同方法。也许,除了 Image 之外,还有一个不同的控件可以与纯 Bitmap 一起使用,我不需要转换。我也没有使用WPF,UWP或新的WinUI 3有这个问题吗?我已经检查过 UWP 使用 WriteableBitmap,这也需要转换,但也许还有不同的方法?

我发现了各种转换,其中一些很慢,而其中一些由于某种原因只会产生白色图像。我在下面提供了一个列表(我尝试了更多,但我不记得具体是什么了):

  1. 使用下面的方法。此转换有效,但转换 640x480 毫秒位图大约需要 20 毫秒。

方法(来源):

  1. 使用 Asmak9.EssentialToolKit 库(source),但转换大约需要 27 毫秒,所以这不是一个选择。

  2. 使用下面的方法。由于某种奇怪的原因,这个对我不起作用。它运行没有问题,但转换的结果是一个空白(白色)图像,而不是输入其中的东西。

方法(来源):

  1. 使用下面的方法。这会产生与之前的转换相同的结果 - 空白 BitmapImage。我也不确定这里可能出现什么问题。

方法(来源):

也许,最后 2 次转换更好,但它们没有正确转换,或者我做错了什么?还是有更好的方法来放弃转换步骤并直接显示位图?

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 投票
2 回答
1260 浏览

c++ - WINUI3 - 自定义标题栏

只需快速澄清一下 .setTitleBar() 的使用。

主窗口.xaml

主窗口.xaml.cpp

如何在 SetTitleBar 函数中引用 xaml 元素作为参数?

这基于以下提供的示例(仅适用于 .cs):

https://docs.microsoft.com/en-us/windows/winui/api/microsoft.ui.xaml.window.settitlebar?view=winui-3.0

0 投票
1 回答
651 浏览

wpf - 如何使 WPF 应用程序在 Web 浏览器上运行

我们有一个用 WPF 编写的现有应用程序,我们正在寻找一种迁移它的方法,以便它可以在 Web 浏览器上运行。

经过挖掘,似乎我们需要找到一种方法将代码编译为 webassembly,但我不确定它对于现有的完全加载的 WPF 应用程序有多好。

关于如何开始的任何想法?

0 投票
1 回答
175 浏览

c# - 在 WinUI 3 中将 TabItemTemplateSelector 与 TemplateSelector 结合使用会导致奇怪的嵌套控件

介绍:

我目前正在开发一个应用程序,其中数据应显示在 TabView 中。默认情况下,将打开一个“主页”选项卡,显示一个列表框。单击此框中的条目后,将在新选项卡中打开详细视图。

该应用程序是在 MVVM 架构中创建的。“MainViewModel”包含一个集合,其中 ViewModel 填充 TabView。我正在尝试使用 DataTemplateSelector 根据 ViewModel 类切换 DataTemplates。

该项目正在使用以下依赖项:

示例代码

MainWindow.xaml.cs 包含 ViewModel 和模板选择器

MainWindow.xaml 仅包含一个 TabView

结果

上面的代码创建了一个奇怪的嵌套结果,看起来模板多次应用于标题和内容,导致 TabViewItems 到处都是:

实际结果

期望的结果

对我来说奇怪的是,当我使用“内联”TabItemTemplate 时,结果很好,并且绑定有效。

工作模板示例 #1 工作模板示例 #2

问题

如何使用 TemplateSelector 正确创建 TabViewItems,其中 Header 和 Content 基于 DataTemplate?在搜索类似问题时,我找到了旧项目的解决方案,当简单地将 TabViewItem 嵌套在 DataTemplate 中时,这似乎可以正常工作,这显然不是这里的情况。

0 投票
1 回答
143 浏览

c++-winrt - 如何在 C++/WinRT Win2D 应用程序中正确调用 CanvasBitmap::LoadAsync

在我的 WinUI3(C++/WinRT) 应用程序中,我有一个 Win2D CanvasControl,我想在其中绘制图像。它在画布初始化时使用CanvasBitmap::LoadAsync()加载。我很难使用 C++ 协程让它工作。

相关代码如下。

当我使用上面的代码运行应用程序时,会引发异常并且消息是“应用程序调用了为不同线程编组的接口。”。

非常感谢有关如何在 WinUI (C++/WinRT) 中处理异步操作的指导!