C#WPF图像未显示



在我的代码中,我有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;

这只是其中之一,但其余的是相同的。

由于边界的边缘,图像可能隐藏了,至少这是我试图重新创建您的问题时看到的。

在这里,BorderMargin属性设置为44,135,433,248。这意味着右侧的边距为433,底部有248。

<Border BorderThickness="1" Margin="44,135,433,248" BorderBrush="#FF000000">

窗口的边缘算作在边距内的东西,因此,如果窗口太小,它将不会留出足够的空间来实现边距,因此,将边缘推到图像上,将其藏在图像上。/p>

要纠正这种情况,将保证金中的右和底部值更改为 0,然后将BorderHorizontalAlignment设置为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>

以这种方式,右侧和底部没有余量以将图像推开,并且对齐方式使其正确使用。

最新更新