【问题标题】:Content of ImageEx do not changes after source of images has been changedImageEx 的内容在图像源更改后不会更改
【发布时间】:2019-02-26 18:59:33
【问题描述】:

我在 viewmodel 中通过FileOpenPicker 获取图像,如下所示:

FileOpenPicker picker = new FileOpenPicker(); StorageFile image = await picker.PickSingleFileAsync();

然后我将imagePath属性的值设置为具有Uri类型的viewmodel的PathToImage属性(我正在使用INotifyPropertyChange通过Template10实现):

public Uri PathToImage
{
    set { Set(ref _pathToImage, value); }
    get { return _pathToImage; }
}

这是ImageExSource 属性的可绑定属性:

<Microsoft.Toolkit.Uwp.UI.Controls:ImageEx Source="{x:Bind ViewModel.PathToImage,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>

我预计ImageEx 的内容在我将值设置为PathToImage 后会发生变化,但它不会发生。首先,我认为这是因为PathToImageSource 的属性类型不同,但我设置为Source 位于Assets 文件夹中的图像路径。并查看了图像。所以类型上没有问题。我不知道不让程序工作的错误在哪里。所以请解释一下如何让ImageEx 能够在PathToImage 更改后查看图像。

【问题讨论】:

    标签: uwp binding


    【解决方案1】:

    您可以直接使用传递字符串路径来传递图像。该法师位于 Assets 中,因此您需要将 ms-appx:///Assets uri 方案与文件名结合起来,如下所示。

    private string _pathToImage = "ms-appx:///Assets/test.jpg";
    public string PathToImage
    {
        get { return _pathToImage; }
        set { Set(ref _pathToImage, value); }
    
    }
    

    Xaml

    <mControl:ImageEx RelativePanel.AlignBottomWithPanel="True" Source="{x:Bind ViewModel.PathToImage,Mode=TwoWay}"/>
    

    更改属性

    this.ViewModel.PathToImage =  "ms-appx:///Assets/test2.jpg";
    

    【讨论】:

    • 用户选择图像后,我将图像的路径设置为 PathToImage。我就像你建议的那样使用“ms-appx:///”,但它仍然没有任何变化。添加“ms-appx:///”后,我的路径变成这样:{ms-appx:///C:/Users/User/Desktop/hellowithwaves.png}。一个有用的细节是绑定没有问题,因为我从 Internet 复制了图像的 URI 并将其粘贴到 PathToImage 中,并且在运行时在 ImageEx 中查看了图像。那么路径字符串中可能还有其他错误?
    • ms-appx:///Assets 用于访问存储在 porject Assets 文件夹中的内容。
    • 您无法通过C:/Users/User/Desktop/hellowithwaves.png这样的路径访问桌面图像。
    • 请尝试使用 FilOpenPicker 获取文件并在视图模型中使用文件设置图像源。避免使用路径访问uwp中的文件。
    • 更多详情请参考file access permission和uwpuri scheme
    猜你喜欢
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多