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

c# - UWP - 如何使按钮居中?

我创建了一个 UWP 解决方案并创建了一个按钮。按钮没有问题。

我不知道如何在窗口中居中按钮。


代码

0 投票
1 回答
173 浏览

c# - 从 UWP 中的 IconElement 或 IconSourceElement 派生

我正在尝试创建与 MS SymbolIcon 相同的自定义符号图标控件,它将获取枚举符号值作为输入,并且将从 dictionary<Symbol, string> 集合中检索等效路径数据值。但是从 IconElement 继承的符号图标类和我的应用程序中面临的相同问题。

'IconElement 不采用带有 0 个参数的构造函数'

从 UWP 中的 IconElement 派生

但我已将我的构造函数标记为 extern 并用分号括起来以解决构造函数问题。

但我的问题是,我可以从最终用户那里获取符号枚举的输入,并根据存储字典的输入检索等效路径几何。但是我无法将路径几何绑定到路径元素(目标自定义图标类),也无法为此类编写模板样式。因为 IconElement 是从框架元素派生的。

我可以使用 control class 来实现这些,但由于基类,我不能在 <NavigationView.Icon> (它的 IconElement 基础)标签中使用它。

  1. 如何在自定义类的构造函数中初始化字典?- 加载控件时需要填充字典。我不能在外部构造函数中调用这个方法。
  2. 如果可能,使用由 Dictionary<Symbol, String> 集合填充的符号实现的路径几何检索。这是有效的方法吗?,Bcz 导致在第二次初始化控件时已经在集合问题中添加了密钥。请提出替代方法来实现这一目标。
  3. 如何为框架元素编写样式?我需要以控件样式绑定路径数据。但它没有模板属性。

谁能建议如何实现这一目标?

0 投票
1 回答
263 浏览

c++ - 新建项目时没有出现空白应用程序(C++/WinRT)?

我已经安装了 Visual 2019 最新的 sdk 和 C++ (v14x) 通用 Windows 平台工具,但我没有看到创建空白应用程序 (C++/WinRT) 的选项。

还有其他人发生了吗?你是怎么解决的?

我附上了一张图片。 在此处输入图像描述

谢谢你的帮助。

0 投票
1 回答
434 浏览

data-binding - UWP:如果以编程方式填充 NavigationView.MenuItems 结果为空

我在 MainPage.xaml 中创建了一个带有NavigationView(winui 2.4)的新 UWP 项目。

我通过绑定层次结构ObservableCollection来填充NavigationView菜单项(1 个父项,4 个子项)

启动应用程序,分层结构按预期呈现,并且似乎工作正常。

NavigationView 层次结构正确呈现

我的下一个目标是点击按钮折叠每个展开的菜单项。为此,文档建议使用NavigationView.Collapse(NavigationViewItem): 我的意图是遍历NavigationView.MenuItems并折叠它们。

问题是它似乎NavigationView.MenuItems返回空,我不知道为什么。我包含了一个打印的 Button NavigationView.MenuItems.Count(),它返回 0。

另一方面,对分层菜单项进行硬编码并重复上述过程似乎可以正常工作。

主页.xaml

MainPage.xaml.cs

类别.cs

编辑:这似乎是一个已知的错误,我在GitHub 上发现了一个已关闭的问题,但问题仍然存在。

0 投票
1 回答
437 浏览

c# - 从 WinUI 3.0 Preview 3 Desktop App 中 WebView2 中的帖子获取响应

在代码隐藏的 ctor 中,我们从microsoft-ui-xaml-specs复制了以下代码

编辑 1:在 WebView 导航到页面之前注册事件处理程序。POST 不是我们页面的一部分。POST 来自一个由外部服务注入我们页面的 javascript 实例化的按钮。

xml

WebView2 正确导航和发布。我们在 WebView 中拥有该页面,并且我们知道该页面会收到响应。但是MyWebView.WebMessageReceived没有被击中。

根据WinUI 3.0 Feature Roadmap WebView2 应该在 WinUI 3 Preview 3 中实现。

我应该能够阅读回复吗?如果是这样,我哪里出错了?

0 投票
1 回答
91 浏览

uwp - 为什么 Header 比 Title 大,什么时候使用?

窗口类型渐变中的标题样式大于标题样式,这与 PDF、Microsoft Word 和打印中的常见用法相反。为什么这些风格似乎互换了,设计师打算在什么场景下使用它们?

澄清:我不是在问如何“修复”它。作为开发人员,我需要了解样式的初衷,以便按原样正确使用它们。

UWP 类型斜坡截图

0 投票
0 回答
73 浏览

c# - 支持 cookie 和 javascript 的跨平台 .NET webview

我正在.NET 5 中开发一个跨平台的图形桌面应用程序。我目前正在使用 UNO 平台和 WinUI 3 预览版 3。我需要对远程网站的用户进行身份验证并存储生成的 cookie。我正在寻找支持 cookie 注入和/或 javascript 执行的第三方 webview。我不能使用 UNO 中已经存在的 webview,因为 WinUI 3 附带了基于 Edgium 的 WebView2,目前在 Uno 等 Mac 上不可用。我已经尝试过不同的 webviews,如 sharpWebview、SpiderEye、WebWindow 和 Chromely,但没有任何成功。特别是,Chromely 似乎是唯一支持 cookie 注入和 javascript 执行的,但由于缺乏文档,使其工作并不容易。对此有任何帮助吗?或者你能建议其他网络视图试试吗?

0 投票
1 回答
401 浏览

c# - WinUI ListView ObservableColellection 绑定不起作用

我正在学习新的 WinUI 平台以及 C# 中的 XAML 和 GUI 编程,我不确定我是否正确理解绑定和更新的工作原理,但我无法让以下代码(最小工作示例)工作:主页.xaml

MainPage.xaml.cs

当我启动应用程序时,我看到一个包含两个项目的列表,但是当我单击按钮时没有任何反应。我想使用 Live Visual Tree 进行调试,但由于某种原因它无法正常工作。

0 投票
0 回答
227 浏览

winui - 以管理员身份运行 cmd.exe 以使用 c# 安装软件

使用的技术

语言:C#

脚本:cmd.exe 和命令

前端:WIN UI、Xaml

框架:.Net 5

  • 我想从 c# 安装 10 个软件作为自动化过程。
  • 目前要安装软件,我使用 cmd.exe 作为使用 C# Process 类的进程,这应该以管理员身份运行,否则我的安装将由于管理员权限而失败。
  • 这里的问题是当我的自动化启动时,系统总是要求我弹出 UAC(用户帐户控制)来安装每个软件(我想总是跳过 UAC 弹出)。

查询:当我使用 cmd.exe 作为 C# 进程类的管理员时,如何避免此 UAC 弹出。

其他人提出的解决方案:在我的应用程序(WIN UI)启动时,创建一个单例进程,将 cmd.exe/powershell.exe 提升为管理员并使用此进程安装所有软件。(在这种情况下,我们将获得一次 UAC弹出,这没关系)。所以我可以调用这个进程/服务来执行我的所有命令,以避免 UAC 弹出,因为这个进程以管理员身份运行

为提议的解决方案尝试的方法:

  1. 关注这篇文章https://code-ai.mk/execute-command-prompt-commands-from-c/
  • 在这种方法中,由于 useShellExecute 设置为 false,cmd.exe 进程没有以管理员身份运行。
  • 如果将 useShellExecute 设置为 false 进程在非管理员模式下运行,那么我的软件安装失败。

查询:在这种情况下如何以管理员身份运行 cmd.exe

  1. 方法 2:通过设置 useShellExecute = true; 创建一个以管理员身份打开 cmd.exe 的进程;

问题:在这种方法中,由于 UseShellExecute 属性为 true,我无法通过标准输入执行命令。由于如果使用 UseShellExecute 为 true 存在限制,我们无法将标准输入/输出重定向到进程。

查询:当 UseShellExecute 为 true 时,我如何向 cmd.exe 提供输入命令

注意:由于 WIN UI ( https://github.com/microsoft/microsoft-ui-xaml/issues/3046 )中的问题,我无法以管理员身份运行我的 WIN UI 应用程序。

0 投票
2 回答
95 浏览

c# - 修改 UWP TabView 上方的边距

我正在尝试修改TabView控件中选项卡上方的边距,请参见此处的红色小箭头:

在此处输入图像描述

我认为这个边距是在这里设置的(它匹配的偏移量),但是我通过设置器修改这个值的尝试没有成功。我该如何改变它?

编辑:看起来修改这个的方法可能会改变。