代码之家  ›  专栏  ›  技术社区  ›  Matt Bridges

使用不带URI的BitmapImage的XAML ImageBrush

  •  3
  • Matt Bridges  · 技术社区  · 15 年前

    我有以下XAML,它显示使用URI的图书的封面图像:

    <Rectangle.Fill>
        <ImageBrush ImageSource="{Binding CoverUrl}" />
    </Rectangle.Fill>
    

    但是,我要使用的映像不在任何磁盘上,也不可通过URI访问;它来自一个二进制文件,我将其解析为 BitmapImage 对象。

    当我创建一个 位图图像 通过代码生成的对象 BaseUri UriSource 属性为空。我怎么才能拿到 ImageBrush 使用A 位图图像 它在内存中而不是从URI中读取?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Thomas Levesque    15 年前

    ImageSource属性的类型为ImageSource,而不是uri或string…实际上,当您为它分配一个URI时,就会发生转换。可以将ImageBrush直接绑定到返回ImageSource的属性

    <Rectangle.Fill>
        <ImageBrush ImageSource="{Binding Cover}" />
    </Rectangle.Fill>
    
    
    private ImageSource _cover;
    public ImageSource Cover
    {
        get
        {
            if (_cover == null)
            {
                _cover = LoadImage();
            }
            return _cover;
        }
    }