【问题标题】:Bind images to listbox with datatemplate from app package folder使用应用程序包文件夹中的数据模板将图像绑定到列表框
【发布时间】:2013-09-15 14:22:27
【问题描述】:

您好,我需要将图像绑定到列表框,但是当我尝试它时,我得到 FILE NOT FOUND 但文件存储在文件夹 layoutGraphics 的应用程序包中。我尝试将文件放入默认文件夹,但我得到相同的结果有人知道什么是坏的吗?

var file = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("ms-appx:///layoutGraphics/offline.png");
        var fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
        var img = new BitmapImage();
        img.SetSource(fileStream);
        ImgSource = img;

// 属性

private BitmapImage _imgSource;
    public BitmapImage ImgSource
    {
        get { return _imgSource; }
        set
        {
            _imgSource = value;
            OnPropertyChanged("MyDatasMessagesUserList");
        }
    }

或者任何人知道更好的解决方案,我可以如何使用数据模板将应用文件夹中的图像绑定到我的列表框?

【问题讨论】:

  • @"/layoutGraphics/offline.png" 或使用资源
  • @ 不工作 - 找不到文件

标签: c# xaml data-binding windows-8 windows-store-apps


【解决方案1】:

Windows.Storage.ApplicationData.Current.LocalFolder 正在从应用程序存储而不是包中检索文件。对于包文件夹,您需要使用 Windows.ApplicationModel.Package.Current.InstalledLocation。此外,GetFileAsync 仅采用文件名而不是完整路径。 这是完成您想要的代码:

var layoutGraphiceFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("layoutGraphics")
var file=await layoutGraphiceFolder.GetFileAsync("offline.png");

使用完整路径的另一种方法是:

var file=await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///layoutGraphics/offline.png"));

【讨论】:

  • 第二个想法有效,但现在我得到:错误:BindingExpression 路径错误:在“Un.BindingData”上找不到“ImgSource”属性。 BindingExpression: Path='ImgSource' DataItem='Un.BindingData';目标元素是“Windows.UI.Xaml.Controls.Image”(名称=“imgMessengerIsOffline”);目标属性是'Source'(类型'ImageSource')
  • ImgSource 是否是 BindingData 类的属性,因为此错误意味着 Image 的 DataContext 是 BindingData 类型的对象?
  • 我也认为有一个错误: OnPropertyChanged("MyDatasMessagesUserList"); , 应该是 OnPropertyChanged("ImgSource");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
相关资源
最近更新 更多