我的WPF应用程序有点问题。
好吧,我有一个ListView,它在第一列显示一个图像。每个元素都可以有或没有图像,因此我不时会在此列中加载“默认”图像。
这是问题所在。
当我加载默认图像时,列表视图中没有显示图像。
这是codepart,它添加了默认图像:
Uri src = new Uri(@"/myapp;component/Images/Picture.png", UriKind.RelativeOrAbsolute);
BitmapImage small_image_bmp = new BitmapImage();
small_image_bmp.BeginInit();
small_image_bmp.CacheOption = BitmapCacheOption.OnLoad;
small_image_bmp.UriSource = src;
small_image_bmp.EndInit();
small_image_bmp.Freeze();
dto.Bild1_Bitmap = small_image_bmp;
this.liste.Add(dto);
此代码无效。
但是这部分效果很好:
Uri src = new Uri(@"C:\Users\me\Documents\Visual Studio 2010\Projects\myapp\myapp\Images\Picture.png", UriKind.RelativeOrAbsolute);
BitmapImage small_image_bmp = new BitmapImage();
small_image_bmp.BeginInit();
small_image_bmp.CacheOption = BitmapCacheOption.OnLoad;
small_image_bmp.UriSource = src;
small_image_bmp.EndInit();
small_image_bmp.Freeze();
dto.Bild1_Bitmap = small_image_bmp;
this.liste.Add(dto);
正如您所看到的,不工作的部分具有相对路径,而正在工作的代码具有绝对路径。
但当然我不能使用绝对路径......
这是ListViewColumn的XAML:
<GridViewColumn Header="Bild">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="100" Height="100" Source="{Binding Bild1_Bitmap}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
答案 0 :(得分:0)
如果您发布的用于加载图片的代码与图片位于同一个程序集中。您可以忽略组件路径并像这样使用 - Images\Picture.png
。
另请确保image build action
设置为Resource
。