首页 > 解决方案 > Avalonia Ui 相当于 ImageResource

问题描述

我尝试用 AvaloniaUi 定义一个 ImageSource。在 WPF 中,我是这样的:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <ImageSource x:Key="Icon">path/to/image/image.png</ImageSource>
</ResourceDictionary>

然后像这样引用它:

<Image Source="{StaticResource Icon}"/>

我如何在 Avalonia 中存档相同的内容?

标签: wpfxamlavaloniaui

解决方案


<UserControl xmlns="https://github.com/avaloniaui"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:imaging="clr-namespace:Avalonia.Media.Imaging;assembly=Avalonia.Visuals">
    <UserControl.Resources>
        <imaging:Bitmap x:Key="MyBitmap">
            <x:Arguments><x:String>icon.png</x:String></x:Arguments>
        </imaging:Bitmap>
    </UserControl.Resources>
       <Image Source="{StaticResource MyBitmap}"
               Width="100" Height="200"
               Stretch="None"/>
</UserControl>

请注意,这仅适用于物理路径,因为不再涉及转换器。

您还可以尝试使用可以接受您自己的图像持有者的附加属性。


推荐阅读