问题标签 [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 投票
1 回答
108 浏览

windows - 如何在 UWP 应用程序中创建应用程序范围的键盘快捷键,以取代子 XAML 元素具有的任何按键处理程序?

例如:uwp 枢轴自动处理 Ctrl+Tab。我想创建一个使用 Ctrl+Tab 的自定义应用程序范围的键盘快捷键。但是,如果我的应用程序当前专注于枢轴控件,那么枢轴会窃取快捷键按下事件。

我尝试过的:出于测试目的,我创建了一个处理 CoreWindow.KeyDown 事件的单例类。我注册了一些处理程序。当我按下 Ctrl+Tab 而不关注任何元素时,单例类将处理该事件。但是,如果我在我的应用程序中专注于枢轴控件并按 Ctrl+Tab,那么枢轴会窃取事件,而单例类则不会。如何使单例类获取事件而不是焦点元素?

0 投票
1 回答
347 浏览

c# - 在 UWP 中再次调用 OnLoaded 事件

我正在与 UWP 合作,WinUI 2.5 prerelease并注意到在WPF. 所以我正在使用一个TabView控件并在其中加载一个Page。每次创建新选项卡时,都会在其中加载一个新页面(没什么花哨的)。

现在,我的页面上有一些OnLoaded事件。因此,当创建一个新选项卡并加载页面时,OnLoad会调用该事件(应该如此),但是现在当我切换回其他选项卡并再次切换到当前页面时,OnLoaded再次调用该事件。为什么 ?

带有 TabView 的主页

具有 OnLoaded 事件的 Page3

每次选定的选项卡更改为Page3 tab事件时onLoaded都会被调用。当第一次切换选项卡并加载页面时,应该只调用一次。

0 投票
1 回答
322 浏览

wpf - 如何确定您使用的是 WinUI 2 还是 WinUI 3?

目前,我尝试学习如何在 WPF 应用程序中使用 UWP UI 组件。

我正在关注https://github.com/rvinothrajendran/XamlIslands中的示例

但是,我可以知道,我怎样才能知道该示例是使用 WinUI 2 还是 WinUI 3?

谢谢。

0 投票
1 回答
297 浏览

xaml - 无法在 UWP 中更改 TeachingTip 的背景颜色

我在 UWP 中使用 WinUi 2.4 的教学提示控件,想要更改背景颜色。但是我在 xaml 中给出的背景值并没有反映在控制中。

  • 在这里,我将背景值设为红色,但它没有反映在控件中。我认为它只采用默认值,有没有办法覆盖默认值并设置我们的值,如背景颜色。
  • 在此示例中看到了一些建议,但它不起作用更改工具提示DefaultValues的默认值
0 投票
1 回答
266 浏览

xaml - WinUI UWP - 如何创建继承自它的自定义样式?

我已经为 WinUI 添加了 nuget 包,并在 App.xaml 中添加了合并的字典,并且所有不受Style指令影响的控件都会出现新样式。然而,简单的使用Style会导致 SetterStyle应用于原始 UWP 模板而不是 WinUI 模板。例如这段代码:

将导致 ComboBoxes 出现没有圆角半径并且比不应用上述内容时具有更厚的边框。

有什么解决办法吗?

0 投票
1 回答
62 浏览

uwp - 将内容文本置于教学提示内的中心

我在 UWP 中使用 WinUi 2.4 的教学提示控件,我想将内容放在教学提示的中心。但我无法将内容放在中心。我没有提供任何标题、副标题。请找到附加的图像。我可以让关闭图标不可见吗?

在此处输入图像描述

0 投票
2 回答
1179 浏览

uwp - WinUI 3.0 - 为什么 UWP 项目要求 MS Edge for Business 用于 WebView2

当我在项目中使用WebView2控件并运行应用程序时,控件内的网页不显示。相反,该应用会显示以下消息,将我带到Microsoft Edge for Business下载页面:UWPWinUI 3.0WebView2

未检测到合适的 Microsoft Edge 版本。请从此处安装最新的 beta 频道版本

问题:为什么它要求使用 Microsoft Edge for Business?我MS Edge Canary ChannelWindows 10 - Pro. 我不想安装太多版本。

MainPage.xaml

应用程序的显示

该网页应该显示在WebVeiw2按钮控件的下方。但相反,会显示消息(如下所示):

在此处输入图像描述

0 投票
0 回答
353 浏览

c# - WinUI 3.0 - UWP:WebView2 打印功能出错

在我的WinUI 3.0 - UWP 项目中,我有一个WebView2显示简单 html 的控件,如下所示。但是当我使用ExecuteScriptAsync调用以下javascript代码时(如下所示),我收到以下错误:

错误

检查您的打印机或选择另一台打印机。您选择的打印机不可用或未正确安装。

错误截图

在此处输入图像描述

备注:我的 Windows 10 的默认Print to PDF打印机没有任何问题,因为我可以从浏览器(MS Edge 或 Google)打印完全相同的 html 页面。

问题:我在这里可能做错了什么,我们可以解决这个问题吗?我认为问题的原因可能与我如何在我的 html 中使用 JavaScript 和/或我如何将参数传递给ExecuteScriptAsync(...)方法有关。注意:wvTest正如您可能已经猜到的,是 WebView2 控件的名称。

代码

//此事件打开Print Dialog并显示如上所示的消息:

0 投票
1 回答
627 浏览

c# - 桌面应用程序默认项目的 WinUI 3.0 给出运行时错误

使用昨天刚刚发布的Windows UI Library 3 Preview 2(2020 年 7 月) 。在最新版本上VS2019 - Preview,按照官方教程开始使用 WinUI 3 桌面应用程序来创建桌面项目。项目成功编译,但在调试模式下运行时出现以下错误。我正在使用Windows10 Pro ver. 1903

错误截图

在此处输入图像描述

0 投票
2 回答
1027 浏览

uwp - UWP/WinUI 桌面应用程序访问 Azure Key Vault 机密

Microsoft 提供了多种方法来获得对 Azure Key Vault 机密的安全访问,特别是使用托管标识或服务主体作为标识提供者。但是,这些方法明确设计为使用基于 Azure 的资源,例如 Web 应用程序和微服务。它们不适用于 UWP/WinUI 桌面应用程序。

到目前为止,我发现允许 UWP/WinUI 桌面应用程序访问 Key Vault 的唯一方法是将应用程序的 Azure 注册信息(TenentId、ClientId 和 ClientSecret——它们自己的秘密!)加载到环境变量中创建新 SecretClient 对象 (Azure.Security.KeyVault.Secrets) 时的 DefaultAzureCredential() 方法。

但这意味着我需要将这些秘密存储在代码或配置文件中,以便在运行时读取。绝对不是最佳实践!我肯定错过了什么。

2020 年 UWP/WinUI 桌面应用程序安全访问 Key Vault 机密而不在此过程中暴露其他机密的最佳做法是什么?