在我的代码中,我有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">
窗口的边缘算作在边距内的东西,因此,如果窗口太小,它将不会留出足够的空间来实现边距,因此,将边缘推到图像上,将其藏在图像上。/p>
要纠正这种情况,将保证金中的右和底部值更改为 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>
以这种方式,右侧和底部没有余量以将图像推开,并且对齐方式使其正确使用。