在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的方法。如何将图像文件设置为图像控制?
答案 0 :(得分: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/