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

c# - Avalonia 获取所有窗口

有没有办法获取 Avalonia 中所有窗口的列表?

WPF中的等价物

我的要求是根据其 DataContext 激活或关闭某个窗口。

如果我无法访问这样的列表;有没有办法跟踪窗口的创建和销毁以创建内部列表?

0 投票
1 回答
51 浏览

c# - AvaloniaUI 绑定到 ItemsSource 之外的命令

我有个问题。我想给一个按钮一个来自 ViewModel 的命令,它在 ItemsRepeater ItemsSource 之外。我需要有关如何进行此类绑定的帮助

我的 ItemsRepeater 中的按钮

<Button Command={Binding TestClick} Grid.Column="0" HorizontalAlignment="Stretch" Foreground="#6264a7" HorizontalContentAlignment="Center" CornerRadius="0" Background="#2f2f2f" FontSize="20">Details</Button>

我的物品中继器

我的视图模型:

0 投票
0 回答
28 浏览

.net-5 - Visual Studio Avalonia 探测 PrivatePath 不起作用

我已经在这个主题上进行了很多搜索,但大多数答案都已经很老了,虽然我已经尝试过了,但它们对我不起作用。

我有一个 Avalonia 项目,当我构建它的调试或发布版本时,它按预期工作。该项目引用了其他一些项目,也是 Avalonia,它在根构建文件夹中构建了很多 dll(下图)。

解决方案资源管理器的屏幕截图

构建文件夹的屏幕截图(发布)

build 文件夹中有 48 个不同的 dll,我想将 dll 移动到单独的文件夹中。为此,我app.config在项目中创建了一个文件(默认情况下没有文件)并在其中添加了以下代码。

同样在后记中,我添加了这段代码以将 dll、xmls 和 pdbs 移动到 root/lib 文件夹:

移动功能发生并且构建完成,但是当我尝试打开应用程序时,它没有给我任何出现问题的迹象,只是没有打开。在调试启动中,我在构建控制台中收到此错误:

我将其解释为应用程序无法读取 dll。我不明白我做错了什么。任何帮助将不胜感激。

为伟大的长职位道歉。但我想让我的问题尽可能清楚。

0 投票
1 回答
83 浏览

.net - dotnet publish osx-x64 不生成可执行文件

我有一个试图为 mac 构建的 Avalonia 项目。但是当我使用 dotnet publish 为 osx 生成构建时,没有生成可执行文件。它会生成一个与程序同名的 .dll 文件(应与可执行文件同名)以及一个没有扩展名的同名文件。为此,我使用

根据我在这里阅读的内容,我还在我的项目属性中添加了 UseAppHost True 。它们看起来像这样:

我不知道如何让 dotnet publish 为 mac 生成一个实际的可执行文件。有谁知道我做错了什么以及我需要做什么?谢谢。

编辑:我在 Windows 10 上执行此操作。

0 投票
1 回答
169 浏览

c# - 在 Avalonia 的应用程序资源中将图像路径设置为变量以供重用

我有一个徽标,在我的应用程序的某些地方使用。所以我想将它的路径存储在我的App.axaml文件的一个变量中,这应该允许我在整个应用程序中引用这个路径作为变量。这适用于像这样的颜色StepBoxBG

DynamicResource在例如这样的边框元素中引用它

但是当我的标志路径以同样的方式被引用时

不显示徽标。路径是正确的,因为当我直接在Image元素中使用路径时,它可以工作:

我发现了这个问题并尝试了它,所以App.axaml看起来像这样:

现在它抛出一个异常,因为它把它称为绝对路径而不是相对于项目:

System.IO.DirectoryNotFoundException:“找不到路径 'C:\Assets\Logos\logo.png' 的一部分。”

我将构建操作设置为,AvaloniaResource因此它应该包含在我的程序集中。也试过<x:String>Assets/Logos/ul-logo.png</x:String>了,现在异常是指调试文件夹(bin/Debug/net5.0/Assets)。

如何指定仅包含/Assets/Logos/logo.png路径的资源并将其解析为<Image>元素中的硬编码路径?

0 投票
0 回答
30 浏览

c# - 如何将“SelectedItem”添加到自定义控件中?

ItemsRepeater用来展示一组物品。我想补充SelectedItem,但不明白怎么做。我的axaml:

缺少 SelectedItem 限制了我,我不能写这样的东西:

0 投票
2 回答
80 浏览

.net - MacOS 应用程序公证失败 - 二进制文件的签名无效

该应用程序是使用 Avalonia 和 .net 核心开发的。我对应用程序进行了公证,没有出现任何错误。但在查看应用公证结果时出现以下错误:

从问题的描述来看,它是由代码设计引起的,但在签名时没有出现任何错误。

感谢您的任何想法。亚伦

Eidted:该应用程序在签名前运行良好。签名后,失败。我尝试在 MacOS 的终端中运行它(cd 到 xxx.app/Contents/MacOS 文件夹并执行 ./xxx),并得到以下错误:

0 投票
1 回答
41 浏览

c# - Avalonia:无法将文本绘制到 DrawingContext

我正在使用 Avalonia 开发一个项目。我将以下项目用作图形编辑器的工作基础,该项目允许绘制线条和矩形:https ://github.com/wieslawsoltes/LineEditor

我正在尝试在其中写入文本,Avalonia.Media.DrawingContext但我开始NullRefereceException调用DrawingContext.DrawText方法(在调试器中,formattedText._platformImpl为空)

0 投票
0 回答
33 浏览

.net - 如何在阿瓦洛尼亚绑定

我创建了 View 和 ViewModel

和查看片段

MessageBox 显示 AppName 包含数据,但是当我运行应用程序时,TextBlock 为空。

有任何想法吗?

0 投票
0 回答
19 浏览

c# - net6 多平台应用程序中的 RuntimeIdentifiers 和自定义输出路径

我为 win64 和 osx-x64 开发了一个 net6 应用程序,我想将 OutputPath 设置为自定义路径。

我只从win64版本开始。我使用x64解决方案配置

这是我的 csproj :

然后我添加 osx 版本变成这样:

使用它,当我在 Mac 上编译或发布时,OutputPath 设置不正确,当我发布(使用 osx-x64)时,它会转到 bin/Release/net6/ 或 bin/Release/net6/osx-x64/publish。

我试图在 csproj 中添加它,但没有运气:

更糟糕的是,在 Windows 上,我无法开始调试项目,有一条消息说“没有与活动解决方案配置匹配的项目配置”。在解决方案的配置管理器中,项目现在位于 AnyCPU 作为平台而不是 x64

我可以将 x64 保留为平台(对于 win 和 osx)并根据 RuntimeIdentifier 设置输出路径(如果指定)?