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

c# - 画布上的形状连接器 - Avalonia

我一直在尝试在 Canvas 上搜索形状的连接器,但找不到适合我的解决方案。我不知道它是否因为Avalonia可能会有很大不同,或者只是我无法应用它。

我想要实现的是用箭头将我生成的形状连接到 Canvas 上。简单的解决方案通常只是画一条线并应用一些样式。但是我将生成许多节点(我正在可视化一些图表)并且使用连接器我不需要总是关心线是否穿过另一个节点,或者通过一些曲率和其他东西来处理它。(顺便说一句,我只用 C# 编写,不使用 XAML对于这个特定的窗口)所以我不知道运行程序时会生成多少个节点和多少条边,这取决于我加载的文件。所以我的问题是:有没有可能的方法如何将这些形状|对象|椭圆与连接器动态连接,连接器改变其形状以便不穿过任何节点?或者,如果您认为 Canvas 不适合我,如果您告诉我,我会很高兴。

提前致谢!

0 投票
1 回答
184 浏览

avalonia - FrameworkPropertyMetadataOptions.AffectsMeasure and FrameworkPropertyMetadataOptions.AffectsRender in Avalonia

Moving the app under wpf to avalonia ui. During the transfer, I encountered something that is not in the documentation. In General there is a piece of code from wpf:

How to add a new behavior corresponding to

for the dependency property in Avalonia?

0 投票
1 回答
48 浏览

avaloniaui - Avalonia Ui 中的 DependencyPropertyDescriptor (wpf) 的模拟?

如何在 Avalonia 中实现相同的行为(wpf)?

0 投票
1 回答
467 浏览

c# - Avalonia WriteableBitmap BitmapContext 上的工件

我正在尝试BitmapContext为 AvaloniaWrieableBitmap类编写 WriteableBitmapEx。代码成功地设置了我想要的颜色像素,并得到了它们,但是 BitmapContext 用我没有设置的颜色弄乱了一些像素。例如,我提供它应该设置 4 倍LightSalmon颜色,其余应该是#000000.

BitmapContext 看起来像这样:

设置和获取像素如下所示:

和例子:

输出:

LightSalmon我设置的颜色在哪里

还值得注意的是,当我不在GetPixel上下文中包装循环时,位图大小例如为 15x15 它会抛出

0 投票
0 回答
971 浏览

c# - 为什么拖放文件在 Avalonia 应用程序的窗口中不起作用?

我正在尝试使用 Avalonia 项目中包含的文件来实现拖放。 由于我无法使其正常工作,并且我认为这可能是一个特殊情况,因此我尝试制作一个类似的示例,例如ControlCatalogStandalone中的示例。 虽然ControlCatalogStandalone中的代码按预期工作,但我的测试应用程序中几乎相同的代码不能正常工作。ControlCatalogStandalone 中的相关代码属于 UserControl,在我的应用程序中它属于. 这可能是不当行为的原因吗? 我创建了一个新的Avalonia MVVM 应用程序ListBoxWindow
ListBox

MainWindow
基于0.9.11Visual Studio 2019 中的 NuGet 包。
我也尝试过版本0.10.0-preview2
这是 XAML 文件:

这是背后的代码:

应用程序中的拖放ControlCatalogStandalone 我的应用程序中运行良好。在这种情况下
,事件的连续性是DoDrag, DragOver, DragOver, ...。 将文件从 Windows 资源管理器拖到ControlCatalogStandalone效果很好。 事件的连续性是, , ..., 将文件从 Windows 资源管理器拖动到我的应用程序不起作用。 这里没有调用任何预期的事件。 我的测试应用程序有什么问题?Drop


DragOverDragOverDrop




0 投票
1 回答
889 浏览

c# - 如何在 Avalonia 应用程序中为 OpenFolderDialog 设置标题?

我正在使用OpenFileDialog,SaveFileDialogOpenFolderDialog在 Avalonia 应用程序中。
一个要求是将标题设置为某个字符串。
我实现了这一点OpenFileDialogSaveFileDialog不是。拒绝应用标题,因此只有根据操作系统语言的默认标题保持设置。 我发现在ControlCatalogStandalone中工作正确,即可以根据需要设置标题。 因此,我尝试将ControlCatalogStandalone简化为Dialogs功能,并将其转换为尽可能类似于我的测试应用程序。OpenFolderDialog
OpenFolderDialog

OpenFolderDialog

我无法做到这一点,但我发现了一些线索,可以帮助更熟练的开发人员找到我的测试应用程序行为不端的原因。ControlCatalogStandalone

SolutionProject的结构和组成与我的 Avalonia 测试应用程序大不相同。 在我的测试应用程序中,目标框架是. 在ControlCatalogStandalone解决方案的一个项目中,目标框架是. 所以,我认为在. 我还认为,如果ControlCatalogStandalone是使用当前版本的
.NET Core 3.1
.NET Standard 2.0
OpenFolderDialog.NET Standard.NET Core
Avalonia for Visual Studio扩展,它不会产生框架的混合。

以下是我的测试应用程序的相关代码部分:

MainWindow.axaml:

MainWindowViewModel.cs:

MainWindow.axaml.cs:

我正在显示最后一个文件,因为我无法 Window GetWindow() => (Window)this.VisualRoot;在我的 ViewModel 中实现该方法,该方法在ControlCatalogStandalone中被实现并在后面的代码中使用DialogsPage(实际上是 a UserControl)。
因此,我实现了Instance可能是 hack 的属性。
如果您也可以给我提示最佳实践以获取实例,MainWindow我会很高兴。

我的问题是无法在实现OpenFolderDialog的未解决问题中设置标题.NET Core,还是你能告诉我如何让它在我的简单测试应用程序中工作?

0 投票
1 回答
1627 浏览

c# - 是否可以从 System.Drawing.Bitmap 创建 Avalonia.Media.Imaging.Bitmap?

我正在 Avalonia 中编写一个应用程序并使用 OpenCvSharp 从相机中获取帧。这适用于 WPF - 我刚刚打电话给

但这在 Avalonia 中不起作用,因为存在不同类型的Image控件,以及不同类型的Source属性。

我尝试通过MemoryStream执行此操作,但随后Bitmap构造函数因ArgumentNullException崩溃(尽管流不为空)。

0 投票
1 回答
183 浏览

avaloniaui - 类似于 Avalonia UI 中的抽象 Adorner (wpf) 类?

如果在 WPF 中使用抽象类Adorner实现了一个装饰元素,那么如何在Avalonia UI中实现该对象的实现?

0 投票
1 回答
471 浏览

user-interface - 如何根据文本框值在 AvaloniaUI 中启用按钮

我是 Avalonia 的新手,所以我的代码应该很基本。我有 1 个窗口,其中有 1 个面板,即:

该面板具有 TextBlock、TextBox 和按钮。默认情况下不启用该按钮。我的问题是,当 textBox 的值发生变化时,如何启用它。这是我的 Model 类,其中已经包含一些基本逻辑:

0 投票
1 回答
72 浏览

c# - 在组合框WPF中的文本下方添加边框

我需要在 Combobox 中每个弹出的行下方添加一行。所以现在我的 Combobox 看起来像这样: 现有组合框

并弹出使用此 XAML 代码实现的行:

我需要使组合框类似于这个: 所需的组合框

我无法插入一些额外的边框来使线条出现,所以我不知道该怎么做。