在Avalonia中设置窗口图标

4

我正在为学校项目编写一个小应用程序,但我不知道如何更改窗口图标。我找到了Window的“Icon”属性,但我不知道它是如何工作的,因为我没有找到太多关于它的文档。当我尝试在字段中输入内容时,它报错说找不到资源。我也读到了一些有关导入资源的内容,但这是我第一个这样的应用程序,所以我完全迷失了方向。谢谢任何帮助。

2个回答

10

您需要将您的图标添加为AvaloniaResource。如果您使用MVVM模板,则应将Assets目录中的所有内容添加为一个。如果您没有使用MVVM模板,则添加。

<ItemGroup>
  <AvaloniaResource Include="Assets\**" />
</ItemGroup>

将图标添加到Assets目录下,并在.csproj文件中进行引用。然后,在窗口的XAML代码中简单地编写Icon="/Assets/your-icon.ico"即可。
注意:保留HTML标记。

4

这正是我在寻找的内容,关于在C#中设置图标。

IBitmap bitmap = new Bitmap(AvaloniaLocator.Current?.GetService<IAssetLoader>()?.Open(
     new Uri($"avares://{Assembly.GetExecutingAssembly().GetName().Name}/Assets/example.png"))
);
var exampleWindow = new Window()
{
Title = "Example",
Height = 700,
Icon = new WindowIcon(bitmap)
}

在Axaml中
<Window xmlns="https://github.com/avaloniaui"
 Icon="/Assets/example.png"> 
...
</Window>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接