从WP7中的Image返回DecodeJpeg

时间:2012-04-03 06:01:43

标签: windows-phone-7

我正在重新接触WP7的联系人。有些联系人的图像有些没有。我想显示那些没有图像的联系人的默认图像。

我使用了以下图像转换器,

public class ContactPictureConverter : System.Windows.Data.IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            Contact c = value as Contact;
            if (c == null) return null;

            System.IO.Stream imageStream = c.GetPicture();


            if (null != imageStream)
            {
                return Microsoft.Phone.PictureDecoder.DecodeJpeg(imageStream);
            }
            else
            {
                return null;
            }
        }

因为如果imageStream为null,那么我想返回我的默认图像。

怎么做?

1 个答案:

答案 0 :(得分:1)

您可以在项目的App类中使用共享变量,您可以在转换器中参考该类。

或者更好并且建议您使用BitmapSource与您的资源图片的相对URL。

BitmapImage

var bitmapImage = new BitmapImage
                            {
                                UriSource = 
                                    new Uri("../Images/Test.JPG", UriKind.Relative)
                            };

或VB

Dim bitmapImage = New BitmapImage() With { _
    Key .UriSource = New Uri("../Images/Test.JPG", UriKind.Relative)}