Поведение поля изображения - PullRequest
1 голос
/ 10 ноября 2011

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

Я хочу, чтобы значение поля было (40, 16, 0, 0).

Когда я добавляю его во время выполнения, мой код выглядит так:

        System.Windows.Controls.Image proba = new System.Windows.Controls.Image();
        ImageSource imageSource = GetSlidePart(PresentationDocument.Open(path, false), 0, "rId2");
        proba.Source = imageSource;
        proba.Width = 2245721 / 9525;
        proba.Height = 2286004 / 9525;
        proba.Margin = new Thickness(40, 16, 0, 0);
        gridName.Children.Add(proba);

Но когда я добавляю изображение в xaml, код в cs выглядит так:

        image1.Source = GetSlidePart(PresentationDocument.Open(path, false), 0, "rId2");

и код в xaml таков:

<Window x:Class="GetInfoFromPptxFile.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="720" Width="960">

<Grid Name="gridName">
    <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="416,20,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
    <Image Height="150" HorizontalAlignment="Left" Margin="40,16,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="200" />
</Grid>
</Window>

Когда я запускаю свою программу, изображение1 находится именно там, где я хочу, а изображение с именем proba - нет.Почему, когда я даю им одинаковые значения маржи?

1 Ответ

4 голосов
/ 10 ноября 2011

Это потому, что вы не устанавливаете горизонтальное и вертикальное выравнивание в C #.

Попробуйте добавить:

proba.VerticalAlignment = VerticalAlignment.Top;
proba.HorizontalAlignment = HorizontalAlignment.Left;

и будет выглядеть так же.

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