问题标签 [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.
windows - 如何在 UWP 应用程序中创建应用程序范围的键盘快捷键,以取代子 XAML 元素具有的任何按键处理程序?
例如:uwp 枢轴自动处理 Ctrl+Tab。我想创建一个使用 Ctrl+Tab 的自定义应用程序范围的键盘快捷键。但是,如果我的应用程序当前专注于枢轴控件,那么枢轴会窃取快捷键按下事件。
我尝试过的:出于测试目的,我创建了一个处理 CoreWindow.KeyDown 事件的单例类。我注册了一些处理程序。当我按下 Ctrl+Tab 而不关注任何元素时,单例类将处理该事件。但是,如果我在我的应用程序中专注于枢轴控件并按 Ctrl+Tab,那么枢轴会窃取事件,而单例类则不会。如何使单例类获取事件而不是焦点元素?
c# - 在 UWP 中再次调用 OnLoaded 事件
我正在与 UWP 合作,WinUI 2.5 prerelease
并注意到在WPF
. 所以我正在使用一个TabView
控件并在其中加载一个Page
。每次创建新选项卡时,都会在其中加载一个新页面(没什么花哨的)。
现在,我的页面上有一些OnLoaded
事件。因此,当创建一个新选项卡并加载页面时,OnLoad
会调用该事件(应该如此),但是现在当我切换回其他选项卡并再次切换到当前页面时,OnLoaded
再次调用该事件。为什么 ?
带有 TabView 的主页
具有 OnLoaded 事件的 Page3
每次选定的选项卡更改为Page3 tab
事件时onLoaded
都会被调用。当第一次切换选项卡并加载页面时,应该只调用一次。
wpf - 如何确定您使用的是 WinUI 2 还是 WinUI 3?
目前,我尝试学习如何在 WPF 应用程序中使用 UWP UI 组件。
我正在关注https://github.com/rvinothrajendran/XamlIslands中的示例
但是,我可以知道,我怎样才能知道该示例是使用 WinUI 2 还是 WinUI 3?
谢谢。
xaml - 无法在 UWP 中更改 TeachingTip 的背景颜色
我在 UWP 中使用 WinUi 2.4 的教学提示控件,想要更改背景颜色。但是我在 xaml 中给出的背景值并没有反映在控制中。
- 在这里,我将背景值设为红色,但它没有反映在控件中。我认为它只采用默认值,有没有办法覆盖默认值并设置我们的值,如背景颜色。
- 在此示例中看到了一些建议,但它不起作用更改工具提示和DefaultValues的默认值
xaml - WinUI UWP - 如何创建继承自它的自定义样式?
我已经为 WinUI 添加了 nuget 包,并在 App.xaml 中添加了合并的字典,并且所有不受Style
指令影响的控件都会出现新样式。然而,简单的使用Style
会导致 SetterStyle
应用于原始 UWP 模板而不是 WinUI 模板。例如这段代码:
将导致 ComboBoxes 出现没有圆角半径并且比不应用上述内容时具有更厚的边框。
有什么解决办法吗?
uwp - WinUI 3.0 - 为什么 UWP 项目要求 MS Edge for Business 用于 WebView2
当我在项目中使用WebView2
控件并运行应用程序时,控件内的网页不显示。相反,该应用会显示以下消息,将我带到Microsoft Edge for Business下载页面:UWP
WinUI 3.0
WebView2
未检测到合适的 Microsoft Edge 版本。请从此处安装最新的 beta 频道版本
问题:为什么它要求使用 Microsoft Edge for Business?我MS Edge Canary Channel
的Windows 10 - Pro
. 我不想安装太多版本。
MainPage.xaml:
应用程序的显示
该网页应该显示在WebVeiw2
按钮控件的下方。但相反,会显示消息(如下所示):
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
并显示如上所示的消息:
c# - 桌面应用程序默认项目的 WinUI 3.0 给出运行时错误
使用昨天刚刚发布的Windows UI Library 3 Preview 2(2020 年 7 月) 。在最新版本上VS2019 - Preview
,按照官方教程开始使用 WinUI 3 桌面应用程序来创建桌面项目。项目成功编译,但在调试模式下运行时出现以下错误。我正在使用Windows10 Pro ver. 1903
:
错误截图:
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 机密而不在此过程中暴露其他机密的最佳做法是什么?