[英]C# WPF Images not displaying
在我的代码中,我有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;
这只是其中之一,其余的都一样。
由于边框的边缘,图像可能被隐藏了,至少这是我尝试重新创建问题时所看到的。
在这里, Border
的Margin
属性设置为44,135,433,248
。 这意味着右侧的边距为433,底部的边距为248。
<Border BorderThickness="1" Margin="44,135,433,248" BorderBrush="#FF000000">
窗口的边缘算作边缘内有东西,因此,如果窗口太小,则边缘将不会留有足够的空间,因此边缘将被推到图像上方,将其隐藏。
要解决这种情况,请将空白处的right和bottom值更改为0
,并将Border
的HorizontalAlignment
为Left
,将VerticalAlignment
为Top
。
<Border BorderThickness="1" Margin="44,135,0,0" BorderBrush="#FF000000" HorizontalAlignment="Left" VerticalAlignment="Top">
<Image x:Name="imageHelmet" HorizontalAlignment="Left" Height="116" Margin="-1" VerticalAlignment="Top" Width="127" MouseEnter="helmet_MouseEnter"/>
</Border>
这样,在右侧和底部的边上就没有多余的空白可以推到图像上,并且对齐使之正确,因此可以正确使用左侧和顶部的对齐方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.