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

c# - WinUI3 TabView XAML 不更新视图中的数据绑定

目前正在使用 C#、WinUI3 和 XAML 开发一个简单的 UWP 应用程序。很像微软在这里所做的新变化。但是,我陷入了一些我无法理解的奇怪绑定问题。我使用的很简单ObservableCollection<ProfileTab> ProfileTabs,应该使用单个选项卡进行初始化并显示在muxs.TabView. 我只是直接按照 XAML 控件库中的示例(https://github.com/microsoft/Xaml-Controls-Gallery/blob/f95e0a2003be53228030dcf72032fcb47b96060f/XamlControlsGallery/ControlPages/TabViewPage.xaml.cs & https://github.com/ microsoft/Xaml-Controls-Gallery/blob/f95e0a2003be53228030dcf72032fcb47b96060f/XamlControlsGallery/ControlPages/TabViewPage.xaml

XAML 代码

C# 代码

现在默认选项卡已初始化,我觉得很棒!但是,每当单击添加或删除时,什么都没有发生。我启动了调试器,事件被触发并且ObservableCollection似乎确实在改变 - 添加和删除显示的选项卡。现在的问题是视图本身并没有改变 - 只是单个默认选项卡。

任何人都可以指出错误或解决方法吗?谢谢!

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 回答
352 浏览

xaml - 如何在 WinUI 3 中访问窗口资源

我刚刚开始处理 WinUi 3 (Desktop) 项目,并且在尝试将 Window 资源添加到 Window 时被阻止。

我原以为以下会起作用。但是,似乎没有 Resources 属性。

0 投票
1 回答
646 浏览

c++-winrt - 如何使用带有 C++ 桌面应用程序的 WinUI3 导航到新页面?

首先,我在 Visual Studio 中使用模板“Blank App, Packaged(WinUI in Desktop)”创建了一个项目。

然后我将 MainWindow.xaml 中的代码更改为一个简单的框架:

然后我添加一个 BlankPage 并尝试像这样导航到 BlankPage:

然后视觉工作室给我错误:

我不知道该怎么办...

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 投票
1 回答
859 浏览

c# - WinUI UWP项目中是否有类似WPF-DataTrigger的东西?

我想根据绑定值更改样式,为此我在 WPF 中使用了 DataTriggers。现在我试图在 WinUI 项目中实现相同的目标,但由于 WinUI 中没有 DataTriggers,我无法更进一步。

在进一步分析中,我发现包 Microsoft.Xaml.Behaviors.WinUI.Managed 在 WinUI 项目中使用行为,但我无法在 WinUI UWP 项目中安装它。

注意:由于 VisualStateManager 只包括常见的状态,我不能在这里应用它。

0 投票
1 回答
305 浏览

mysql - Microsoft.EntityFrameworkCore 5.0.2 与 uap10.0.17134 不兼容(UAP,Version=v10.0.17134)

在 WinUI 桌面应用程序中添加 EF Core nuget 包时出现以下错误。

我正在尝试使用 EF Core 从 WinUI 应用程序访问 mysql。

我的命令行中的 dotnet 版本是

5.0.200-preview.20601.7

0 投票
1 回答
146 浏览

c# - TreeView 项目随机出现在错误的父项下

编辑 2: 根据 Peter Duniho 的建议,我正在用一个更简单的示例替换我的问题的原始文本和对我原始代码的引用。

我正在开发一个 WinUI 3 应用程序。主窗口有一个TreeView,其层次结构如下:顶层项目的类型为CarMake,每个项目CarMake可以有 0 个或多CarModel个子项。该窗口有一个ObservableCollection<CarMake>名为的属性Cars,它是顶层CarMakes 的源,每个窗口都有CarMake一个ObservableCollection<CarModel>属性,它CarModels是其子级的源TreeView

CarMakeView下面分别是和CarModelView类型的 XAML 定义:

CarMake.csCarModel.cs

这是MainWindow.

最后是MainWindow. 请注意,我Cars使用硬编码的集合初始化属性CarMake,每个集合都有关联CarModel的 s。这定义了我们希望在 UI 中看到的数据层次结构:

这是我所期望的:在 UI 中,汽车模型应该出现在汽车的视觉子代中,它们在代码中被分配给它们。因此,例如,“The Homer”,并且只有“The Homer”,应该出现在“Powell Motors”的孩子中。

问题是:启动应用程序并展开和折叠至少一个汽车制造商项目后,汽车模型开始显示在错误的汽车制造商下方。例如,“The Homer”汽车模型可能出现在“Chevrolet”下,而不是“Powell Motors”下。每当一个顶级汽车制造项目被折叠然后展开时,它下面就会出现一组全新的汽车模型,显然是从它的邻居那里随机采购的。这几乎就像 UI 框架只是在玩弄CarModels 并将它们粘贴在任何CarMake感觉之下,而不是尊重由数据定义的层次结构。

我想知道的是:我需要更改什么以便汽车型号名称仅出现在 UI 中指定的父级下?另外,我想了解导致此问题的原因。

我知道 WinUI 3 现在绝对是最前沿的,所以我的一部分希望它是框架中的一个错误,而不是我做过的事情。我试图包含我认为与问题相关的所有代码,但如果问题出在其他地方,这里有一个指向 GitHub 存储库的链接——它非常少,只有足够的代码来说明问题,并且只需几秒钟即可构建在 Visual Studio 中。