【问题标题】:Updating Image when the selection in ListBox changes - WPF当列表框中的选择发生变化时更新图像 - WPF
【发布时间】:2023-03-11 05:04:01
【问题描述】:

我想要实现的是在更改列表框中的选择时更改图像的来源。 我有一个名为 GetImageLink 的方法,它获取当前选择的 Web URL 并将其分配给 ReferenceImageLink 属性。 (我检查过,选择更改时链接会更新)。但是,当我尝试将其用作 Image 的来源时,它什么也没做。图像从一开始就永远是空白的。有人可以指出我正确的方向吗?我是 WPF 的新手,所以对我来说有点困惑。

public static string ReferenceImageLink { get; set; }

        private async void VariantListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ReferenceImageLink = null;
            var selecteditem = sender as ListBox;
            string item = selecteditem.SelectedItem as string;
            await GetImageLink(item);


            BitmapImage referenceBMP = new BitmapImage();
            referenceBMP.BeginInit();

            //ReferenceImageLink property changes as ListBox selection change, GetImageLink takes care of it.
            referenceBMP.UriSource = new Uri(ReferenceImageLink, UriKind.Relative);
            referenceBMP.CacheOption = BitmapCacheOption.OnLoad;
            referenceBMP.EndInit();
            ReferenceImageBox.Source = referenceBMP;

        }
<Image Name="ReferenceImageBox" HorizontalAlignment="Left" Height="189" Margin="558,51,0,0" VerticalAlignment="Top" Width="230" />

Screenshot of the WPF app

【问题讨论】:

  • 分配给 ReferenceImageLink 的值是相对路径吗?您可以在此处发布 ReferenceImageLink 的值吗?如果路径是完整的文件位置,您可以将 UriKind 更改为 Absolute。
  • 感谢您的关注。我完全错过了。路径应该是绝对的。将其更改为绝对解决了问题。

标签: c# .net wpf xaml imagesource


【解决方案1】:

制作 UriKind.Absolute 解决了我的问题。谢谢

referenceBMP.UriSource = new Uri(ReferenceImageLink, UriKind.Absolute);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2018-09-29
    • 1970-01-01
    相关资源
    最近更新 更多