2009-02-26 2 views
0

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

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

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

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

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

ответ

4

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

<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> 
+0

Я сделаю снимок, но я уверен, что это на 99% то же, что и у меня. – jcollum

+0

Ух, да, ты прав. У меня был образ внутри холста, который позиционирует предметы в соответствии с их верхним левым углом. Doh! – jcollum

Смежные вопросы