самый простой способ центрировать изображение в silverlight?

Скажем, у меня есть сетка с 3 рядами. В центральном ряду я хотел бы поместить изображение, а затем центрировать его в этом ряду по вертикали и горизонтали. Но поскольку (я думаю) Silverlight использует верхние левые углы элемента, когда он центрируется, верхний левый угол изображения центрируется, когда я говорю ему центрировать по вертикали / горизонтали.

Я видел 2 подхода к этому:

  • изменить положение изображения в событии
  • установите очень большое значение поля изображения со всех сторон (500)

Есть способ попроще? Кажется странным, что вам нужно сделать что-то взломанное, вроде этих двух подходов. Я бы предпочел просто сказать объекту, что его якорь находится в центре, а затем сказать ему, чтобы он располагался в центре. Хммм, может быть хороший настраиваемый элемент управления.

Обновление: действительно неприятным было то, что я внес незначительные изменения на страницу, чтобы изменить способ центрирования изображения, и FF3 отобразил старую версию страницы. Это заставило меня подумать, что это не сработало. Затем я поднял его в IE, и все выглядело правильно. Я очистил кеш FF3, и он показал правильную страницу. Чертовски раздражает.


person jcollum    schedule 26.02.2009    source источник


Ответы (1)


Почему это не сработает для вас?

<Grid x:Name="LayoutRoot" Background="White">
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Image Source="Butterfly.jpg"
           Height="50" Width="50"
           HorizontalAlignment="Center" VerticalAlignment="Center"
           Stretch="UniformToFill"
           Grid.Column="1" Grid.Row="1" />
</Grid>
person Franci Penov    schedule 26.02.2009
comment
Я попробую, но я почти уверен, что это на 99% то же самое, что у меня уже есть. - person jcollum; 26.02.2009
comment
Ух, да ты прав. У меня было изображение внутри холста, в котором элементы располагались в соответствии с их левым верхним углом. Дох! - person jcollum; 26.02.2009