0

在 ApplicationData.Current.RomanigFolder 中,我保存了一个 jpg 文件。是否可以在流或 MemoryStream 中读取此文件的内容并将其设置为 ImageSource?

我在带有 .NET 4.0 的 WPF 应用程序中使用它,并带有以下代码:(img 是 XAML-Image-Control

BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.CacheOption = BitmapCacheOption.OnLoad;
StreamReader sr = new StreamReader(data.message.imageUrl);
bi.StreamSource = sr.BaseStream;
bi.EndInit();
img.Source = bi;
sr.Close();

对于 Metro 应用程序,我看不到将 StreamSource 设置为 BitmapImage 的方法。如何将图像文件设置为图像控件?

4

1 回答 1

1

用于编写“Metro Style Apps”或为 Windows 8 构建的应用程序,以在 WPF 项目中设置图像的来源。

这是代码:

// Usage
myImage.Source = ImageFromRelativePath(this, "relative_path_to_file_make_sure_build_set_to_content");

public static BitmapImage ImageFromRelativePath(FrameworkElement parent, string path)
{
    var uri = new Uri(parent.BaseUri, path);
    BitmapImage result = new BitmapImage();
    result.UriSource = uri;
    return result;
}

参考: http: //www.codingbeta.com/programatically-setting-image-source-in-metro-style-apps-with-wpf/

于 2012-09-30T11:43:56.100 回答