问题标签 [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.
c# - 画布上的形状连接器 - Avalonia
我一直在尝试在 Canvas 上搜索形状的连接器,但找不到适合我的解决方案。我不知道它是否因为Avalonia可能会有很大不同,或者只是我无法应用它。
我想要实现的是用箭头将我生成的形状连接到 Canvas 上。简单的解决方案通常只是画一条线并应用一些样式。但是我将生成许多节点(我正在可视化一些图表)并且使用连接器我不需要总是关心线是否穿过另一个节点,或者通过一些曲率和其他东西来处理它。(顺便说一句,我只用 C# 编写,不使用 XAML对于这个特定的窗口)所以我不知道运行程序时会生成多少个节点和多少条边,这取决于我加载的文件。所以我的问题是:有没有可能的方法如何将这些形状|对象|椭圆与连接器动态连接,连接器改变其形状以便不穿过任何节点?或者,如果您认为 Canvas 不适合我,如果您告诉我,我会很高兴。
提前致谢!
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?
avaloniaui - Avalonia Ui 中的 DependencyPropertyDescriptor (wpf) 的模拟?
如何在 Avalonia 中实现相同的行为(wpf)?
c# - Avalonia WriteableBitmap BitmapContext 上的工件
我正在尝试BitmapContext
为 AvaloniaWrieableBitmap
类编写 WriteableBitmapEx。代码成功地设置了我想要的颜色像素,并得到了它们,但是 BitmapContext 用我没有设置的颜色弄乱了一些像素。例如,我提供它应该设置 4 倍LightSalmon
颜色,其余应该是#000000
.
BitmapContext 看起来像这样:
设置和获取像素如下所示:
和例子:
输出:
LightSalmon
我设置的颜色在哪里
还值得注意的是,当我不在GetPixel
上下文中包装循环时,位图大小例如为 15x15 它会抛出
c# - 为什么拖放文件在 Avalonia 应用程序的窗口中不起作用?
我正在尝试使用 Avalonia 项目中包含的文件来实现拖放。
由于我无法使其正常工作,并且我认为这可能是一个特殊情况,因此我尝试制作一个类似的示例,例如ControlCatalogStandalone中的示例。
虽然ControlCatalogStandalone中的代码按预期工作,但我的测试应用程序中几乎相同的代码不能正常工作。ControlCatalogStandalone
中的相关代码属于 UserControl,在我的应用程序中它属于. 这可能是不当行为的原因吗?
我创建了一个新的Avalonia MVVM 应用程序ListBox
Window
ListBox
MainWindow
基于0.9.11
Visual Studio 2019 中的 NuGet 包。
我也尝试过版本0.10.0-preview2
。
这是 XAML 文件:
这是背后的代码:
应用程序中的拖放在ControlCatalogStandalone 和我的应用程序中运行良好。在这种情况下
,事件的连续性是DoDrag
, DragOver
, DragOver
, ...。
将文件从 Windows 资源管理器拖到ControlCatalogStandalone效果很好。
事件的连续性是, , ...,
将文件从 Windows 资源管理器拖动到我的应用程序不起作用。
这里没有调用任何预期的事件。
我的测试应用程序有什么问题?Drop
DragOver
DragOver
Drop
c# - 如何在 Avalonia 应用程序中为 OpenFolderDialog 设置标题?
我正在使用OpenFileDialog
,SaveFileDialog
并OpenFolderDialog
在 Avalonia 应用程序中。
一个要求是将标题设置为某个字符串。
我实现了这一点OpenFileDialog
,SaveFileDialog
但不是。拒绝应用标题,因此只有根据操作系统语言的默认标题保持设置。
我发现在ControlCatalogStandalone中工作正确,即可以根据需要设置标题。
因此,我尝试将ControlCatalogStandalone简化为Dialogs功能,并将其转换为尽可能类似于我的测试应用程序。OpenFolderDialog
OpenFolderDialog
OpenFolderDialog
我无法做到这一点,但我发现了一些线索,可以帮助更熟练的开发人员找到我的测试应用程序行为不端的原因。ControlCatalogStandalone
的Solution和Project的结构和组成与我的 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
,还是你能告诉我如何让它在我的简单测试应用程序中工作?
c# - 是否可以从 System.Drawing.Bitmap 创建 Avalonia.Media.Imaging.Bitmap?
我正在 Avalonia 中编写一个应用程序并使用 OpenCvSharp 从相机中获取帧。这适用于 WPF - 我刚刚打电话给
但这在 Avalonia 中不起作用,因为存在不同类型的Image控件,以及不同类型的Source属性。
我尝试通过MemoryStream执行此操作,但随后Bitmap构造函数因ArgumentNullException崩溃(尽管流不为空)。
avaloniaui - 类似于 Avalonia UI 中的抽象 Adorner (wpf) 类?
如果在 WPF 中使用抽象类Adorner实现了一个装饰元素,那么如何在Avalonia UI中实现该对象的实现?
user-interface - 如何根据文本框值在 AvaloniaUI 中启用按钮
我是 Avalonia 的新手,所以我的代码应该很基本。我有 1 个窗口,其中有 1 个面板,即:
该面板具有 TextBlock、TextBox 和按钮。默认情况下不启用该按钮。我的问题是,当 textBox 的值发生变化时,如何启用它。这是我的 Model 类,其中已经包含一些基本逻辑: