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

avaloniaui - Avalonia UI,通过绘制事物创建自定义控件

可以通过从容器控件(如面板)开始并在其上添加其他现有控件(如按钮、文本框等)来创建控件。但在某些情况下,没有这样合适的原始控件,必须从头开始绘制。

Avalonia UI 的 Visual Studio 扩展有一个UserControl模板,它似乎允许使用 XAML 添加现有控件,这是上一段的前一种情况。但是如何从头开始绘制呢?WinForm 的OnPaint()等价物或 WPF 的OnRender()等价物在哪里?是否有任何在 Avalonia UI 中从头开始创建控件的示例?

0 投票
0 回答
210 浏览

avaloniaui - Avalonia UI,背景模糊了我在 Render 中绘制的内容

我通过继承创建了一个自定义控件UserControl并在Render

显示了该框,但是当我Background在 MainWindow 的 XAML 中设置时,背景颜色使该框变得模糊(该框不可见)。我可以使显示在背景颜色顶部的框吗?

0 投票
1 回答
372 浏览

c# - 如何拆分 Grid 以仅使某些元素可滚动?

这实际上不是 WPF,而是 Avalonia,但它们几乎相同,所以我想我会在这两个类别中问这个问题。我这里有个问题。此窗口包含顶部具有“名称”和“描述”按钮的网格,它们下方的 2 个 StackPanel 中的一些项目以及将它们分开的 GridSplitter。我的问题是,我如何只使底部项目可滚动?如果我用 ScrollViewer 包围我的网格,它将滚动所有网格,包括顶部的“名称”和“描述”按钮,并且我只想滚动底部元素(在我的代码中由 3 个 StackPanel 表示)。此外,左侧和右侧的元素应同时滚动。令人困惑的是,我什至不能将所有元素都作为 ScrollViewer 的子元素,因为它只能有一个元素作为子元素。我可以'

它看起来如何

0 投票
2 回答
376 浏览

c# - ReactiveUI 连接 Observable CanExecute 和 IsExecuting 属性

如果 CleanCommand 正在执行,则 SearchCommand 将处于非活动状态。如果 SearchCommand 正在执行,则 CleanCommand 将处于非活动状态。

条码是

在构造函数中

在班上

我通过 *IsExecuting.ToProperty() 获得进程状态

我得到带有条形码等属性的值。

我应该使用WhenAny* 方法还是可以这样做?

0 投票
0 回答
111 浏览

c# - 反应式将多个可观察对象合并为一个带有布尔值的可观察对象

我怎样才能合并可观察的。

我正在尝试使用该代码

我想如果所有可观察对象都为真,则返回真,如果一个可观察对象为假,则返回假。

0 投票
1 回答
849 浏览

.net - 如何在 MacOS 上运行 .NET Core 3.1 单文件应用程序?

我在 .NET Core 3.1.200 中有一个带有此 PublishProfile 的应用程序,用于定位 osx-x64:

我已经运行dotnet publish myapp.cproj /p:PublishProfile=profile.xml,最后 /publish 文件夹包含一个文件“myapp”(这是正确的,因为 PublishSingleFile=True)。

但它没有扩展名。如何在 MacOS 上运行它?

编辑:我发现我可以简单地从终端运行它./myapp。但是如何通过双击Finder来运行它呢?目前,它显示:

在此处输入图像描述

0 投票
0 回答
143 浏览

avaloniaui - AvaloniaUI DoDragDrop() 示例?

我想做一些事情,比如从我用 AvaloniaUI 编写的应用程序上的文本块拖动到记事本以打开文本文件。该文档似乎缺少详细信息或示例。我尝试使用以下代码将“C:\Windows\win.ini”传递给记事本,但没有奏效。如何让它发挥作用?

0 投票
0 回答
109 浏览

avaloniaui - 为什么在面板之间移动控件会导致延迟渲染出现异常?

我正在尝试从一个面板重新父控件到另一个面板,如下所示:

在我尝试使用 oldPanel 的最后一个子项之前,每个控件都可以正常工作,我得到:

有问题的面板是 DockPanel 中的 4 个不同的 StackPanel,并且仅在某些 StackPanel 之间移动控件时才会发生。如果我只删除元素而不将它们添加到新面板,则永远不会引发异常,这让我想也许我必须在下一次渲染之前做一些事情来修复场景图?wpf 中有类似 UIElement.UpdateLayout 的东西吗?

我尝试了一些事情: - 将 oldPanel.IsVisible 设置为 false 修复了这个问题,但我希望这些面板仍然可见,因为我设置了它们的 minWidth。- 在所有面板(包括停靠面板)和被移动的控件上调用 InvalidateVisual InvalidateMeasure 和 InvalidateArrange。- 使用 ISetLogicalParent.SetParent。

我只是做错了吗?我在网上根本找不到任何关于重新育儿控制的例子。

0 投票
1 回答
989 浏览

c# - 当应用程序运行时,Linux 的 Avalonia UI 中的 DataGrid 不显示

我在 .NET Core for Linux (Fedora) 上运行 Avalonia UI。我已经按照DataGrid 的本教程进行操作,但老实说,我已经使用以下命令添加了包,而不是手动更新.csproj.

在 adotnet restore和 a之后dotnet run,我看不到任何 DataGrid。无论如何xml

和 ViewModel 看起来不错。

我怎样才能找到问题所在?

0 投票
1 回答
435 浏览

c# - 如何在 Avalonia 中为样式创建单独的文件?

我是 xaml 的新手,我看到了 Avalonia 框架,我非常喜欢它。但是当我开始一些编码时,我想让样式在多个文件中可用,并且由于官方文档没有帮助,有没有人可以告诉我如何分离样式并将它们放在一个文件中?