问题标签 [avaloniaui]

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

c# - 当前上下文中不存在名称“AvaloniaXamlLoaderPortableXaml”

我刚刚升级到最新版本的 Avalonia.Desktop (0.7.0),现在我收到了这个编译错误。看来应用程序现在缺少此方法。我们现在应该调用什么来初始化页面?

0 投票
1 回答
865 浏览

c# - 绑定“找不到 CLR 属性”时出现 Avalonia UI 错误

我正在尝试创建一个 MVVM 应用程序,它从 API 中提取数据并将数据放入用于导航程序的列表中。

我遇到的问题是列表产生了这个错误,我不知道为什么:

绑定:绑定到“Avalonia.Controls.TextBlock”时出错。“文本”:“在‘属性’上找不到 CLR 属性‘名称’”

对于上下文,“属性”类包含“名称”变量,并且我已经确认名称变量已预先填充(程序在我开始尝试形成列表之前打印了名称变量)。

XAML 代码 (MainWindow.xaml):

MainWindowViewModel.cs

类数据(companies.cs):

我做错了什么,需要改变什么?

更新:我尝试将 XAML 中的 DataTemplate 更改为以下内容:

这会产生此错误:

绑定:绑定到“Avalonia.Controls.TextBlock”时出错。“文本”:“找不到 CLR 属性‘属性’

产生此错误:

绑定:绑定到“Avalonia.Controls.StackPanel”时出错。“DataContext”:“找不到 CLR 属性‘属性’


修复更新:从 Kekekeks 的回答中,我弄清楚了为什么我的程序无法运行,现在列出了加载。由于使用 JSON.NET,我担心使用构造函数,但我对所有类进行了以下更改,程序显示了预期的列表

类数据 (companies.cs) 更新:public class APIData {

0 投票
3 回答
1092 浏览

c# - Avalonia 异常“无法找到"

我有一个包含以下项目的 VS 解决方案,以便我可以在 iOS 和 Windows 之间共享 UI 代码:

  • MyApp.UI.Avalonia - 带有 Avalonia nuget 包的 .NET 标准类库
    • 包含用于 UI 的 XAML/CS 文件
  • MyApp.iOS - 一个 Xamarin iOS 项目,带有 Avalonia 和 Avalonia.iOS nuget 包
    • 取决于
  • MyApp.Windows - 从 Avalonia 项目模板创建的 Windows 应用程序项目(已删除 XAML 文件)

当我运行 Windows 应用程序时,我的 App 类在调用 AvaloniaXamlLoader.Load(this) 时出现异常:System.IO.FileNotFoundException: 'Unable to find view for MyApp.App

尝试查找 App.xaml(与 App.cs 文件对应的 XAML 文件)时似乎失败了。它通过查找 URL 类似“avares:/!AvaloniaResourceXamlInfo”的资源来实现。当我在 Avalonia 解决方案的 ControlCatalog 项目中调试此过程时,它确实在共享的 ControlCatalog 类库程序集中找到了该名称的资源,并且在该资源中找到了所有 XAML 文件和资产。

我注意到我的项目和他们的项目之间的一个区别是,当我右键单击项目并选择添加 -> 项目 -> 用户控件 (Avalonia) 时,它会在他们的项目中创建一个包含 CS 文件的 XAML 文件,但在我的项目中它会创建这两个文件只是并排的。为了将 XAML 文件放入这个神奇的“!AvaloniaResourceXamlInfo”资源中,我缺少什么项目设置?

更新: 虽然我仍然遇到同样的错误,但我能够通过手动将以下内容添加到我的 .csproj 文件(其中我在 ControlCatalog 示例项目中找到):

0 投票
2 回答
1647 浏览

.net-core - 在 Avalonia UI 中显示视频

我在用 C# 创建应用程序时开始使用 Avalonia。我看到库中有一个“图像”控件,但是可以在 Avalonia 中显示视频吗?例如使用 LibVLCSharp?

- 编辑

我忘了提到我的主要目标是在 Raspberry Pi 上的 Linux 上运行带有 Video 的 Avalonia 应用程序

0 投票
1 回答
5447 浏览

c# - 如何在 AvaloniaUI(测试版)中显示消息框

我正在玩Avalonia,我正在尝试显示一个与 WinForms' 等效的消息框MessageBox.Show()。我发现GitHub 问题正在为此请求 API,但我想知道人们在此期间在做什么。

我们是否需要实现一个像消息框一样的窗口或用户控件并通过ShowDialog显示它?

0 投票
1 回答
246 浏览

.net-core - 查看位置是否在 net core 项目的 ReactiveUI 中不起作用?

我尝试 在我的网络核心 Avalonia ( https://github.com/AvaloniaUI/Avalonia ) 项目中使用查看位置https://reactiveui.net/docs/handbook/view-location/ 。我在容器中将 View 注册为 IViewFor 。但是视图仍然无法在我的窗口上解析。另外,我搜索了 ReactiveUI 的来源,看起来它的功能还不适用于网络核心。我对吗?

0 投票
1 回答
2426 浏览

openfiledialog - Avalonia 中的 OpenFileDialog - ShowAsync 出错

背景:

我一直在使用 Avalonia 开发跨平台的 UI。为了学习它,我正在尝试创建一个简单的程序,该程序使用 OpenFileDialog 打开一个 .txt 文件并将其内容显示在另一个窗口的 ComboBox 中。

我正在尝试编写一个打开文件对话框并返回用户打开的路径的方法。我正在使用带有 Click 事件的按钮来打开文件对话框,并将指定的路径放在 TextBox 中供用户查看。由于我是 WPF 和 Avalonia 的新手,我不知道如何继续。

问题:

我已经创建了 UI 视图和视图模型。视图模型使用 INotifyPropertyChanged 在 TextBox 中显示选定的文件路径,我将其默认设置为 C 驱动器。

现在我想使用 OpenFileDialog 用用户选择的 .txt 文件的路径来更新该路径。我找到了一个演示 OpenFileDialog 的示例,但它似乎对我不起作用,我并不真正了解它应该如何工作。

TxtView.xaml:

TxtView.xaml.cs:

TxtViewModel.cs

我在这段代码中遇到的错误是 TxtView.xaml.cs 文件中的 ShowAsync() 。错误提示“没有给出与 'OpenFileDialog.ShowAsync(Window)' 的所需形式参数 'parent' 相对应的参数”

我尝试了 ShowAsync(this),它修复了 ShowAsync 的错误,但现在给了我错误“Arguement 1: cannot convert from 'Txt2List.Views.TxtView' to 'Avalonia.Controls.Window'

感谢所有帮助,如果我不清楚,我深表歉意,我对 Avalonia、WPF 和 XAML 完全陌生,所以我正在学习。如果我可以提供其他信息,请告诉我。

0 投票
1 回答
2800 浏览

openfiledialog - FileDialog 在 Avalonia 上使用 OpenFileDialog 循环打开

我正在 Avalonia 中创建一个简单的概念验证 UI。单击按钮以访问所选文件的内容并在文本框中显示文件的路径时,我需要使用 OpenFileDialog。

我创建了异步任务方法来打开文件对话框并将所选文件保存为字符串,然后将任务传递给按钮事件处理程序。当应用程序运行并单击按钮时,文件对话框打开,但是当文件打开或文件对话框窗口关闭时,文件对话框重新打开而不更新文本框。

相关控制:

代码隐藏:

查看型号:

我想要完成的是当单击浏览按钮时,调用 GetPath() 任务方法并打开文件对话框,允许用户选择文本文件。选择文件后,文件对话框关闭,文本框绑定更新以显示所选文件的路径。后来我想让它把文本文件的内容保存到一个字符串中,但我希望它首先工作。

What is actually happening is when Browse button is clicked, file dialog opens but when a file is selected or file dialog is closed/canceled it reopens without updating the text box binding Path.

我对 Avalonia 和 WPF 都是新手,所以如果有的话,我愿意使用更好的方法来实现这一点。

0 投票
1 回答
590 浏览

c# - 如何使用 Avalonia 在 Win32 中最小化程序到系统托盘

我需要能够将 Avalonia 窗口最小化到 Windows 上的系统托盘。该程序在多个平台上运行,但我想添加此 Windows 特定行为。

0 投票
1 回答
361 浏览

combobox - 如何在后面的代码中访问 ComboBox 选定项

我想访问 ComboBox 的 SelectedItem 属性。

在 WPF 中,可以通过 Name.Property(即 ComboBoxName.SelectedItem)调用属性。我想知道当前在 ComboBox 中选择了哪个项目,这就是我需要这样做的原因,但它告诉我该名称在当前上下文中不存在。我有一个 SelectionChanged 事件处理程序,我想在更改时用当前选定的项目更新一个字符串。

.xaml

.xaml.cs

执行此操作时收到的错误是 Generation.SelectedItem 中的 Generation,告诉我“当前上下文中不存在名称“Generation”