问题标签 [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.
c# - UWP - 如何使按钮居中?
我创建了一个 UWP 解决方案并创建了一个按钮。按钮没有问题。
我不知道如何在窗口中居中按钮。
代码
c# - 从 UWP 中的 IconElement 或 IconSourceElement 派生
我正在尝试创建与 MS SymbolIcon 相同的自定义符号图标控件,它将获取枚举符号值作为输入,并且将从 dictionary<Symbol, string> 集合中检索等效路径数据值。但是从 IconElement 继承的符号图标类和我的应用程序中面临的相同问题。
'IconElement 不采用带有 0 个参数的构造函数'
但我已将我的构造函数标记为 extern 并用分号括起来以解决构造函数问题。
但我的问题是,我可以从最终用户那里获取符号枚举的输入,并根据存储字典的输入检索等效路径几何。但是我无法将路径几何绑定到路径元素(目标自定义图标类),也无法为此类编写模板样式。因为 IconElement 是从框架元素派生的。
我可以使用 control class 来实现这些,但由于基类,我不能在 <NavigationView.Icon> (它的 IconElement 基础)标签中使用它。
- 如何在自定义类的构造函数中初始化字典?- 加载控件时需要填充字典。我不能在外部构造函数中调用这个方法。
- 如果可能,使用由 Dictionary<Symbol, String> 集合填充的符号实现的路径几何检索。这是有效的方法吗?,Bcz 导致在第二次初始化控件时已经在集合问题中添加了密钥。请提出替代方法来实现这一目标。
- 如何为框架元素编写样式?我需要以控件样式绑定路径数据。但它没有模板属性。
谁能建议如何实现这一目标?
data-binding - UWP:如果以编程方式填充 NavigationView.MenuItems 结果为空
我在 MainPage.xaml 中创建了一个带有NavigationView
(winui 2.4)的新 UWP 项目。
我通过绑定层次结构ObservableCollection
来填充NavigationView
菜单项(1 个父项,4 个子项)
启动应用程序,分层结构按预期呈现,并且似乎工作正常。
我的下一个目标是点击按钮折叠每个展开的菜单项。为此,文档建议使用NavigationView.Collapse(NavigationViewItem)
: 我的意图是遍历NavigationView.MenuItems
并折叠它们。
问题是它似乎NavigationView.MenuItems
返回空,我不知道为什么。我包含了一个打印的 Button NavigationView.MenuItems.Count()
,它返回 0。
另一方面,对分层菜单项进行硬编码并重复上述过程似乎可以正常工作。
主页.xaml
MainPage.xaml.cs
类别.cs
编辑:这似乎是一个已知的错误,我在GitHub 上发现了一个已关闭的问题,但问题仍然存在。
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 中实现。
我应该能够阅读回复吗?如果是这样,我哪里出错了?
uwp - 为什么 Header 比 Title 大,什么时候使用?
窗口类型渐变中的标题样式大于标题样式,这与 PDF、Microsoft Word 和打印中的常见用法相反。为什么这些风格似乎互换了,设计师打算在什么场景下使用它们?
澄清:我不是在问如何“修复”它。作为开发人员,我需要了解样式的初衷,以便按原样正确使用它们。
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 执行的,但由于缺乏文档,使其工作并不容易。对此有任何帮助吗?或者你能建议其他网络视图试试吗?
c# - WinUI ListView ObservableColellection 绑定不起作用
我正在学习新的 WinUI 平台以及 C# 中的 XAML 和 GUI 编程,我不确定我是否正确理解绑定和更新的工作原理,但我无法让以下代码(最小工作示例)工作:主页.xaml
MainPage.xaml.cs
当我启动应用程序时,我看到一个包含两个项目的列表,但是当我单击按钮时没有任何反应。我想使用 Live Visual Tree 进行调试,但由于某种原因它无法正常工作。
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 弹出,因为这个进程以管理员身份运行
为提议的解决方案尝试的方法:
- 在这种方法中,由于 useShellExecute 设置为 false,cmd.exe 进程没有以管理员身份运行。
- 如果将 useShellExecute 设置为 false 进程在非管理员模式下运行,那么我的软件安装失败。
查询:在这种情况下如何以管理员身份运行 cmd.exe
方法 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 应用程序。