C # WPF Изображения не отображаются - PullRequest
0 голосов
/ 27 апреля 2018

В моем коде у меня 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 голосов
/ 27 апреля 2018

Изображение, вероятно, скрыто из-за границы, по крайней мере, это то, что я видел, когда пытался воссоздать вашу проблему.

Здесь Margin Свойство Border установлено на 44,135,433,248. Это означает, что есть запас 433 с правой стороны и 248 с нижней.

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

Край окна считается чем-то, попадающим в поле, поэтому, если окно слишком маленькое, оно не оставит достаточно места для поля, и поэтому поле будет перемещаться по изображению, скрывая его.

Чтобы исправить эту ситуацию, измените правое и нижнее значения на полях на 0 и установите Border s 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>

Таким образом, на правой и нижней сторонах нет поля для надавливания на изображение, и выравнивание делает это таким образом, чтобы левое и верхнее выравнивания использовались правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...