为了账号安全,请及时绑定邮箱和手机立即绑定

图像UriSource和数据绑定

图像UriSource和数据绑定

哆啦的时光机 2019-08-08 15:27:22
图像UriSource和数据绑定我正在尝试将自定义对象列表绑定到WPF图像,如下所示:<Image>     <Image.Source>         <BitmapImage UriSource="{Binding Path=ImagePath}" />     </Image.Source></Image>但它不起作用。这是我得到的错误:必须设置“Property'UriSource'或属性'StreamSource'。”我错过了什么?
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

Atul Gupta 撰写的这篇文章包含几个场景的示例代码:

  1. 在XAML中绑定到Source属性的常规资源图像

  2. 绑定资源图像,但从后面的代码

  3. 使用Application.GetResourceStream绑定代码中的资源图像

  4. 通过内存流从文件路径加载图像(从数据库加载博客图像数据时同样适用)

  5. 从文件路径加载图像,但通过使用绑定到文件路径属性

  6. 将图像数据绑定到内部通过依赖属性进行图像控制的用户控件

  7. 与第5点相同,但也确保文件不会被锁定在硬盘上


查看完整回答
反对 回复 2019-08-08
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

您也可以简单地设置Source属性而不是使用子元素。为此,您的类需要将图像作为位图图像返回。这是我做过的一种方式的例子

<Image Width="90" Height="90" 
       Source="{Binding Path=ImageSource}"
       Margin="0,0,0,5" />

而class属性就是这个

public object ImageSource {
    get {
        BitmapImage image = new BitmapImage();

        try {
            image.BeginInit();
            image.CacheOption = BitmapCacheOption.OnLoad;
            image.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
            image.UriSource = new Uri( FullPath, UriKind.Absolute );
            image.EndInit();
        }
        catch{
            return DependencyProperty.UnsetValue;
        }

        return image;
    }
}

我想它可能比价值转换器多一点工作,但它是另一种选择。


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 1023 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信