Primary WPF APIs:
ImageBitmapImage + pack URIsWindow.IconPrimary Avalonia APIs:
Imageavares://...)Bitmap, WindowIcon| WPF | Avalonia |
|---|---|
| pack URI resource image | avares:// resource URI |
BitmapImage loading |
Bitmap from asset stream |
Window.Icon |
same concept via WindowIcon |
| dynamic image path strings in bindings | prefer typed IImage/Bitmap view-model properties |
WPF XAML:
<Image Source="/MyApp;component/Assets/logo.png" />
Avalonia XAML:
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:MyApp.ViewModels"
x:DataType="vm:AssetsViewModel">
<StackPanel Spacing="8">
<Image Width="160"
Height="80"
Stretch="Uniform"
Source="avares://MyApp/Assets/logo.png" />
<Image Width="24"
Height="24"
Source="{CompiledBinding SelectedIcon}" />
</StackPanel>
</UserControl>
using System;
using Avalonia.Controls;
using Avalonia.Media.Imaging;
using Avalonia.Platform;
public static void ApplyWindowAssets(Window window)
{
using var imageStream = AssetLoader.Open(new Uri("avares://MyApp/Assets/logo.png"));
var logo = new Bitmap(imageStream);
using var iconStream = AssetLoader.Open(new Uri("avares://MyApp/Assets/app.ico"));
window.Icon = new WindowIcon(iconStream);
}
avares:// URI paths.