- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过绑定(bind)显示存储在 StorageFile 中的图片的内容,但无论我尝试做什么,它似乎都不起作用。
这是我已经测试过的两个解决方案:
string img =( await CompetencesFolder.GetFileAsync(FormatImageNameToFileName(imageName))).Path;
然后将获取到的路径(文件的完整绝对路径)通过绑定(bind)返回给源Property,并:
BitmapImage img = await LoadImage(await CompetencesFolder.GetFileAsync(FormatImageNameToFileName(imageName)));
private static async Task<BitmapImage> LoadImage(StorageFile file)
{
BitmapImage bitmapImage = new BitmapImage();
FileRandomAccessStream stream = (FileRandomAccessStream)await file.OpenAsync(FileAccessMode.Read);
bitmapImage.SetSource(stream);
return bitmapImage;
}
稍后将最终的 bitmapImage 返回到我的绑定(bind)属性。
这些方法都不起作用..
有人有想法吗?
编辑:修复
这是解决问题的代码:
BitmapImage img = new BitmapImage() { UriSource = new Uri( LOCAL_REPOSITORY.Path + "/Assets/gfx/cards/" + FormatImageNameToFileName(imageName) + ".jpg", UriKind.RelativeOrAbsolute) };
我混合了上面的 2 个示例:我从图片的绝对 URI 创建了我的 bitmapImage(LOCAL_REPOSITORY 包含对本地存储的引用:ApplicationData.Current.LocalFolder
)
我仍然不明白为什么其他 2 种方法失败了:我通常将我的图像直接绑定(bind)到 Uri、字符串或 BitmapImage,并且它有效..
最佳答案
下面的代码展示了如何在应用程序中使用 loadimage 方法:创建一个空白应用程序,向主页添加一个图像和一个按钮。
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
// load file from document library. Note: select document library in capabilities and declare .png file type
string filename = "Logo.png";
Windows.Storage.StorageFile sampleFile = await Windows.Storage.KnownFolders.DocumentsLibrary.GetFileAsync(filename);
// load file from a local folder
//Windows.Storage.StorageFile sampleFile = sampleFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("Assets\\Logo.png");
BitmapImage img = new BitmapImage();
img = await LoadImage(sampleFile);
myImage.Source = img;
}
private static async Task<BitmapImage> LoadImage(StorageFile file)
{
BitmapImage bitmapImage = new BitmapImage();
FileRandomAccessStream stream = (FileRandomAccessStream)await file.OpenAsync(FileAccessMode.Read);
bitmapImage.SetSource(stream);
return bitmapImage;
}
关于c# - 在 metroapp 中显示存储在存储文件中的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14883384/
我的 Metro 应用程序表单中有两个文本框.. 我想将其保存到 inf 或文本文件中,我还想再次从文件中读取它。 所以有人可以帮我解决这个问题的代码.... 我只是在第一次启动应用程序时才尝试打开此
我想通过绑定(bind)显示存储在 StorageFile 中的图片的内容,但无论我尝试做什么,它似乎都不起作用。 这是我已经测试过的两个解决方案: string img =( await Compe
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Force WinRT app to snapped view 是否可以在快照模式下直接启动 MetroAp
我可以在 MetroApp 中创建另一个 ItemTemplate 吗?这里我使用 Visual-studio2012RC 和 Windows8 来开发 Metro 应用程序。我使用了以下代码。它工作
我是一名优秀的程序员,十分优秀!