【发布时间】: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" />
【问题讨论】:
-
分配给 ReferenceImageLink 的值是相对路径吗?您可以在此处发布 ReferenceImageLink 的值吗?如果路径是完整的文件位置,您可以将 UriKind 更改为 Absolute。
-
感谢您的关注。我完全错过了。路径应该是绝对的。将其更改为绝对解决了问题。
标签: c# .net wpf xaml imagesource