问题标签 [avalonia]

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

avaloniaui - AvaloniaUI:已在 AppBuilder 实例之一上调用了安装程序

每当我尝试重新启动 Avalonia 应用程序表单基本应用程序时,都会出现异常:“已在其中一个 AppBuilder 实例上调用了安装程序。” 在 SetupWithLifetime() 调用上。

应用程序启动代码为:

应用程序关闭代码是:

这是产生此错误的功能示例代码的链接:https://pastebin.com/J1jqppPv 有人遇到过这样的问题吗?谢谢

0 投票
1 回答
416 浏览

wpf - 使用绑定 Avalonia 的条件 DataTemplate 选择

我是 Avalonia 的新手,我需要为我的一个项目生成问题和答案列表。到目前为止,我已经根据需要生成了问题和答案。XAML 的代码

我现在想要的是根据AnswerType我从Questions列表中获得的值创建不同类型的回答选项(单选按钮或复选框)。这是我的问题模型

样本数据

0 投票
0 回答
177 浏览

direct3d - 将 ID3D11Texture2D 渲染到 SkImage (Skia)

我目前正在尝试创建一个互操作层来将我的渲染目标纹理渲染到 Skia SkImage 中。这样做是为了便于从我的图形 API 渲染到 Avalonia。

我已经设法拼凑出足够多的代码,让一切运行起来没有任何错误(至少,我看不到任何错误),但是当我绘制 SkImage 时,我只看到一个黑色图像。

当然,这些东西用代码更容易描述:

所以,据我所知,这应该有效。但正如我之前所说,它只向我显示黑色图像。应该是矢车菊蓝。我试过打电话FlushID3D11DeviceContext但我仍然得到黑色图像。

有人知道我做错了什么吗?

0 投票
0 回答
82 浏览

c# - 将 avalonia 应用程序与某个自定义扩展名相关联,并在双击或使用 osX 中 finder 中的选项打开时处理文件

我使用 Avalonia 框架创建了一个跨平台桌面应用程序。它将文件保存在自定义扩展名中,比如说(.mcuext)。我能够更新 Info.plist 并使查找器知道我的应用程序支持 .mcuext,但是我很难理解一旦用户双击文件或尝试打开文件后如何处理文件它使用查找器中的“打开方式”选项。目前,当我尝试这样做时,它会打开应用程序但给我一个错误,说我的应用程序无法打开 .mcuext 类型的文件。我知道需要有一个事件处理程序,但试图了解将它放在哪里以及如何处理它。PS文件的处理应该只在用户登录到应用程序后才能工作。

它不是将我的应用程序与其在 OSX 中的自定义文件类型关联并双击打开文件的副本 答案不包括我对事件处理的查询。

0 投票
1 回答
474 浏览

c# - AvaloniaUI:全局捕获鼠标按钮向上/向下

AvaloniaUI 中是否有可能全局捕获鼠标按下按钮的上/下?要在任何控件之外(或可能在任何特定视图模型之外)收到有关此事件的通知?

0 投票
2 回答
1065 浏览

xaml - AvaloniaUI 样式 - 伪类

我正在尝试 avalonia 和大多数作品中的样式,除了伪类,它们只是被忽略了。

我创建了一个窗口,所有样式都在其中,并且我创建了一个用户控件(带有一个按钮 - 伪类在按钮上),使用样式。我不使用代码,只使用 xaml 来定义样式。

我已经在按钮的“样式选择器”中尝试了它作为“Button:pseudoclassname”和“Button.le:pseudoclassname”。我也尝试过“Button:pointerover”和“Button:hover”,因为文档提到可以修改。没有结果。伪类的样式都被忽略了,其他的都被正确执行了。

是我做错了什么还是 avalonia 中的错误?

xaml 窗口文件:

xaml 用户控制文件:

0 投票
0 回答
184 浏览

treeview - 如何在 Avalonia 中获取 TreeListView

我的 xaml 文件中有一个带有类似代码的 TreeView,它为每一行显示多个值。

当前树视图

但是,我希望视图类似于预期视图,其中第 2 列及以后的值不应随着级别的增加而变化。有没有办法调整列之间的间距,使它们落在同一标题下?此外,我希望在不同平台上拥有一致的视图。

0 投票
0 回答
302 浏览

c# - 如何在 Avalonia 上模拟 WinUI stroyboard 动画?

我正在将应用程序从 WinUI 移植到 Avalonia,但在移植动画时遇到了一些麻烦。在 WinUI 上,我有一个动画,当登录失败时触发,使两个 TextBoxes 和 Button 红色半秒,然后恢复到原来的状态:

我只是使用 LoginFailedAnimation.Begin() 从代码中触发它。

在阿瓦洛尼亚我有这样的事情:

目前,为了触发动画,我从代码中更改了两个 TextBoxes 和 Button 的 Classes 属性,顺便说一句,在动画结束时,我必须将 Classes 属性改回原始样式。为此,我必须使用一个等待 1 秒然后恢复 Classes 属性的计时器,顺便说一下,我认为这是一个糟糕的方法。

有没有更好的方法来实现这种行为?我错过了一些明显的东西吗?

0 投票
1 回答
411 浏览

c# - 自定义 Avalon 控件以从其他线程性能问题中渲染

我有一个后台线程,它将一些图像呈现给 WriteableBitmap。我正在制作一个自定义控件,它将使用这个 writeablebitmap 并更新每一帧以制作动画。不幸的是,现在强制此控件InvalidateVisual(). 这行得通,但性能很差。在主窗口上,我订阅了 Renderer.SceneInvalidated 以记录一些帧速率。

并发现大约 7%-10% 的帧在 30ms 内渲染,其他 90% 在 16ms 内渲染。所以我正在寻找一个更好的性能解决方案来解决这个问题。

0 投票
1 回答
239 浏览

c# - 如何在 Windows 和 Linux 系统上使用 Avalonia 框架处理系统关闭事件?

我正在使用带有 Avalonia 框架的 C# 开发应用程序。当系统关闭时,我需要执行一些任务(将日志和元数据写入文件)以使应用程序优雅地完成工作。以前在 Windows 上使用 WPF,我使用订阅Microsoft.Win32.SystemEvents.SessionEnding事件。但正如命名空间所说,它依赖于操作系统。在阿瓦隆尼亚,我试图处理AppDomain.CurrentDomain.ProcessExit((IClassicDesktopStyleApplicationLifetime)ApplicationLifetime).Exit事件,但他们都没有被解雇。所以,问题是,在两个系统上处理操作系统关闭的正确方法是什么。