在Avalonia中设置窗口图标



我正在为学校项目编写一个小型应用程序,但我不知道如何更改窗口图标。我发现了";图标";属性,但我不知道它是如何工作的,因为我在上面几乎没有找到任何文档。当我试图在字段中输入一些内容时,它抛出了一个错误,即找不到资源。我也读过一些关于导入资源的文章,但这是我的第一个此类应用程序,所以我完全迷失了方向。非常感谢您的帮助,谢谢

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

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

到您的.csproj文件。然后将您的图标放入Assets目录。之后,只需在窗口中编写Icon="/Assets/your-icon.ico",xaml就可以工作了。

这正是我想要的,在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>

最新更新