最近在做一个Silverlight的图书管理系统,当我想显示数据库中的二进制图片时费了很大的周折,大家都知道,Silverlight中.图像的显示是通过imagesource来控制显示的.开始我为了实现二进制到图像的转换,而专门写了一个BinarySource类
class BinarySource:BitmapSource
{
public BinarySource(Binary Buff)
{
//somecode
}
}
但是在实现数据绑定的时候依然很麻烦,因为我是将数据源直接绑定在显示控件的DataContext上,没办法直接用上述类来处理.经过查阅MSDN发现,在Silverlight中已经有了这个问题的解决方法.即IValueConverter接口.MSDN上的说法是:
可以创建一个类,该类允许通过从 IValueConverter 继承在源和目标之间转换数据格式。例如,您可能希望有一个颜色列表,其中的颜色作为 RGBA 值存储,但在 UI 中以颜色名称来显示。通过实现 Convert 和 @L_502_1@,可以在绑定引擎在目标和源之间传递数据值时,更改数据值的格式。
具体实现时可参考我写的代码:
在xaml中即可调用:
这样,就可以轻松的实现图片啦~~
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。