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

progress-bar - 进度条从 0% 跳到 100%,中间没有更新

我正在实现一个 ProgressBar,它在每个完成的任务(总共 5 个任务)后更新。每个完成任务后它应该更新 20%。单击按钮开始运行任务,但是当它被单击时,进度条从 0% 变为 100%,而在两者之间没有更新。Thread.Sleep(1000) 在进度值的每个增量之前添加,以模拟每个任务将花费的时间。我想在为每个任务添加代码之前让进度条工作。

我尝试添加 AvaloniaPropertyChanged 事件,但似乎并没有改变问题。

MainWindow.xaml:

MainWindow.xaml.cs:

MainWindowViewModel.cs:

预期:在每个任务完成后,进度条应从 0% 增加到 100%,增量为 20%(由 Thread.Sleep(1000) 模拟 1 秒延迟)

实际:进度条从 0% 开始,然后当单击按钮时,暂停 UI 交互 5 秒,然后将进度条更新为 100%。我希望它在进度条值的每次增量时更新。

0 投票
1 回答
172 浏览

datacontext - 如何从另一个视图模型访问公共变量

我在一个视图模型中有一个公共变量,我希望能够从另一个视图代码隐藏中访问(获取和设置)。我有一个 MainWindowViewModel 和一个 SettingsViewModel。我希望能够访问此变量的代码隐藏已经具有 MainWindowViewModel 的 DataContext 定义,我认为这可能是问题所在,因为据我所知,我无法为同一个视图定义两个 DataContext。

例如,SettingsViewModel 有一个名为 LowerLimit 的变量,我已将其绑定到 NumericUpDown 的选定值。我初始化了一个变量以将 DataContext 保存为 SettingsViewModel,以便我可以访问该 ViewModel 中的变量。我用代码做到了这一点

但由于某种原因,这会抛出一个 NullRefereceException,说 settingsContext 是空的。

SettingsViewModel.cs:

MainWindow.xaml.cs:

我只提供了问题的相关代码。如果我弄错了并且需要更多代码来回答这个问题,那么我可以提供它。

预期结果:settingsContext 从 SettingsViewModel 获取 DataContext,允许我从 MainWindow.xaml.cs 访问 LowerLimit 变量并将其分配给局部变量。

实际结果:NullReferenceException,settingsContext 为 null

0 投票
0 回答
136 浏览

windows-7 - (AvaloniaUI) 在 Windows 7 中使用 OpenFileDialog 时引发 ArgumentException

我正在将我的应用程序部署到 Windows 7、Windows 10 和 Linux。有一次,我使用 OpenFileDialog 允许用户选择文件路径。这在 Windows 10 和 Linux 中有效,但在 Windows 7 中运行时,会引发 ArgumentException。

我尝试通过显示异常消息来查看异常,即“值不在预期范围内”。我不确定这意味着什么。它在 Windows 10 中运行良好,所以我不知道为什么它在这里不能正常运行。

我有一个 GetPath() 方法,它使用 OpenFileDialog 获取选定的路径,还有一个按钮单击事件,它调用 GetPath() 并将结果设置为局部变量。

预期:GetPath() 应该 OpenFileDialog 并将所选路径保存为字符串,然后返回它。MasterBrowse_Clicked() 应该得到返回的字符串。

实际:调用 OpenFileDialog.ShowAsync() 时引发 ArgumentException。

0 投票
2 回答
437 浏览

.net-core - 使用 EntityFrameworkCore 查看模型

我开始自学 .net-core 和 Avalonia UI。

我启动了 Avalonia UI 教程,它按预期工作。http://www.avaloniaui.net/docs/tutorial/creating-model-viewmodel

但是大多数时候,您可以从教程中复制代码并且它可以工作,但是您不理解它......

现在我想,可以将“假数据库”更改为真实数据库。所以我开始包含 Microsoft.EmtityFrameworkCore。数据库存在,包含在内,并且可以编译和运行。

我更新了 ListViewModel

编辑视图模型被增强并且编译没有错误

现在我失去了一点,MainWondowViewModel。

在 AddParticipant 方法中。List.Participant.add(模型); 让我知道错误

现在的问题是缺乏知识。我理解 Observable 错误了吗?我用错了分贝吗?还是我必须在某个时候进行转换?

0 投票
1 回答
1785 浏览

xaml - Avalonia 中的 Resource.xaml

我正在使用 avalonia 创建一个应用程序,由于可重用性,该应用程序在另一个程序集中有一些 UI 内容。在这个额外的程序集中,我想要一个 Resource.xml 文件,它被应用程序项目和其他项目引用。它包含样式等。

内容:

错误:

我究竟做错了什么?.csproj 文件中是否有一些必要的条目?

0 投票
1 回答
799 浏览

avaloniaui - Avalonia中的文本框滚动到底部

我有一个文本框,我在其中写入信息,当屏幕填满时会自动创建一个滚动条,我想滚动到它的底部。似乎我需要做的是将滚动条偏移设置为某个向量,但我的问题是找到 ScrollViewer。

我不能使用 FindControl,因为它在 xaml 中的任何位置都没有命名,我只能使用 textbox.SetValue 更改几个值

0 投票
2 回答
594 浏览

mvvm - 声明 ReactiveCommand 后如何更新 CanExecute 值

我正在使用ReactiveUIAvaloniaUI拥有一个 ViewModel,其中ReactiveCommands包括 Scan、Load 和 Run。

更新时调用扫描Observable<string>(当我从扫描仪收到条形码时)。

加载是从扫描命令中触发的。

从 UI 上的按钮触发运行。

简化代码如下:

只有在没有其他命令正在运行(包括其自身)时,才能执行每个命令。但是我不能IsExecuting在声明之前引用命令的属性。所以我一直在尝试合并“CanExecute”可观察变量,如下所示:

我遇到的问题是 ReactiveCommand 将在另一个命令执行时继续执行。

有没有更好/正确的方法来实现这一点?

0 投票
1 回答
304 浏览

wpf - 在 AvaloniaUI/ReactiveUI 应用程序的 DataGrid 中绑定 ComboBox DataTemplate

我正在使用 AvaloniaUI/ReactiveUI 和 EF Core 构建一个 MVVM 应用程序,以便能够编辑一些包含数据的表。我想我使用 AvaloniaUI 的事实并没有起到太大的作用。如果我使用 WPF,问题可能是相同的(似乎更多是 ReactiveUI 问题)。

例如,假设有两个表,Classes 和 Instructors,其中 Classes 持有 Instructors 表的外键。

班级和讲师具有以下模型:

主视图模型包含这两个集合

我希望这些类显示在 DataGrid 中。为此,我使用了这样的编程(类型安全)ReactiveUI 绑定

到目前为止,这很好用,尽管 Classes 表只包含 Instructors 表的外键(这通过 Class 类中的导航属性起作用),但 Instructor 列甚至显示了教师的姓名。

为了编辑一个类的 Instructor,该列应该使用 ComboBox 作为编辑器,这样我就可以从所有现有的 Instructor 中进行选择。我从

但这就是我卡住的地方。直接绑定表达式不起作用,因为 Instructors 集合不是 Class 的子属性,并且我知道无法以编程方式将 Items 属性(WPF 中的 ItemsSource)绑定到 DataGrid 列的 DataTemplate 中。由于我对所有(顶级)元素使用编程 ReactiveUI 绑定,因此我也没有设置包含 DataGrid 的窗口的 DataContext 属性。

知道如何做到这一点吗?

0 投票
1 回答
889 浏览

xaml - 如何根据绑定值将 Avalon XAML TextBlock 设为粗体?

我正在使用 AvaloniaUI 制作标签列表(TextBlocks)。根据基础数据状态,我希望其中一些是粗体的。有人可以向我指出如何根据绑定值在 DataTemplate 中将 TextBlock 设为粗体吗?

商品代码:

模板代码:

放入硬编码的重量是可行的。

所以我尝试了一种风格:

这让我在启动时出错:无法将“Avalonia.Data.Binding”类型的对象转换为“System.String”类型,我认为它此时尚未处理绑定。

请问什么是正确的路径?

0 投票
0 回答
341 浏览

wpf - DevExpress WPF 控件库是否与 .NetCore 中的 AvaloniaUI 一起使用?

我正在努力跟上最新版本的 AvaloniaUI(Avalonia 0.9.0 版本)。我们有一个使用 .Net Core 框架构建的 WPF 应用程序。我们一直在广泛使用 DevExpress WPF 控件库。

DevExpress WPFlibraries 是否与 AvaloniaUI 框架一起使用?

谢谢,约翰B