Tri*_*inh 4 .net-core avaloniaui
因此,为了我的应用程序的跨平台使用,我从 WPF 切换到 Avalonia。WPF 支持图像的相对路径。但是当我切换到 Avalonia 时,将窗口的背景设置为具有图像相对路径源的 ImageBrush(类似于Images/Background.png),它会输出:
System.IO.FileNotFoundException: 'The resource Images/Background.png could not be found.'
Run Code Online (Sandbox Code Playgroud)
我首先想到的是因为字符串无法转换为IBitmap接口,但后来我意识到当我给它绝对路径(类似C:\Users\username\source\repos\MySolution\MyProject\Images\Background.png)时我错了。我怎么解决这个问题?
编辑:Images/Background.png复制到输出目录,我使用的是 Visual Studio 2019。
您需要将所有资产添加到文件内的标签中.csproj,以便 Avalonia 可以找到它们。相对路径就足够了。如果您.csproj位于应用程序的根文件夹中,那么您需要在.csproj文件中添加以下属性:
<ItemGroup>
<AvaloniaResource Include="Images\**" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
当您从 Visual Studio 内的模板创建 Avalonia 项目时,该文件夹Assets将自动包含在内,例如,.csproj默认情况下,该文件夹将位于您的文件夹中:
<ItemGroup>
<AvaloniaResource Include="Assets\**" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我个人认为最好的做法是在目录中创建一个Images文件夹Assets并将图像放在那里。这样它们就会自动包含在内,而无需您修改.csproj(假设您使用官方模板)。
| 归档时间: |
|
| 查看次数: |
2384 次 |
| 最近记录: |