C#WPF图像未显示

时间:2018-04-27 16:13:23

标签: c# wpf wpf-controls

在我的代码中,我有3个空的图像,然后我在后面的代码中设置了源代码。给出它们的相对路径是正确的,但无论如何图像都不显示。我不知道如何解决这个问题。

的Xaml

<Border BorderThickness="1" Margin="44,135,433,248" BorderBrush="#FF000000">
  <Image x:Name="imageHelmet" HorizontalAlignment="Left" Height="116" Margin="-1" VerticalAlignment="Top" Width="127" MouseEnter="helmet_MouseEnter"/>
</Border>

背后

string source = @"..\..\..\Images\" + piece.Link;
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.UriSource = new Uri(source, UriKind.Relative);
bmp.EndInit();
imageChestplate.Source = bmp;

这只是其中之一,但其余的都是一样的。

1 个答案:

答案 0 :(得分:0)

由于边框的边缘,图像可能会被隐藏,至少这是我在尝试重新创建问题时所看到的。

此处,Margin的{​​{1}}属性设置为Border。这意味着右侧有433的边距,底部有248的边距。

44,135,433,248

窗口边缘计入边距内的内容,因此如果窗口太小,则不会为边距留下足够的空间,因此边距将被推到图像上,隐藏它。 / p>

要解决此问题,请将边距中的右侧和底部值更改为<Border BorderThickness="1" Margin="44,135,433,248" BorderBrush="#FF000000"> ,并将0的{​​{1}}设置为Border,并{{1转到HorizontalAlignment

Left

这样,右侧和底侧没有边缘可以推过图像,并且对齐使得左侧和顶部对齐方式正确使用。