Самый простой способ центрировать изображение в Silverlight? - PullRequest
0 голосов
/ 26 февраля 2009

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

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

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

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

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

1 Ответ

4 голосов
/ 26 февраля 2009

Почему бы вам не сработать?

<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>
...