2013-11-07 11 views
0

У меня проблемы правильно размещая свой объект, я хочу, чтобы достичь угла ленты, что-то вроде этого:Размещение повернуты метки на форме

enter image description here

Потому что моя лента должна быть 1/5 целого вида I форма разделена на 5 колонок:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Grid Grid.ColumnSpan="5"> 
    </Grid> 
    <Border Margin="0" BorderThickness="2" Height="auto" BorderBrush="White" Background="#FFE12727" HorizontalAlignment="Stretch" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto" Padding="0,0,6,0"> 
     <Border.RenderTransform> 
      <CompositeTransform Rotation="-45"/> 
     </Border.RenderTransform> 
     <Viewbox VerticalAlignment="Center" Margin="50,15,50,10"> 
      <TextBlock VerticalAlignment="Center" Text="NEW HERE?"/> 
     </Viewbox> 
    </Border> 
</Grid> 

это выглядит следующим образом:

enter image description here

Как мне установить поля, отступы и т. Д., Чтобы лента на всех разрешениях оставалась как на 1 снимке?

Или любой другой способ достичь этого?

+0

Вы можете также поместить изображение (PNG с прозрачной областью) на верхней части сетки. Это, конечно, практично, если текст метки является статичным. – helb

ответ

0

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

Например, если вы хотите, чтобы квадрат 100 на 100 поворачивался вокруг его центра, вы должны установить CenterX и CenterY свойства до 50.

по http://msdn.microsoft.com/en-us/library/system.windows.media.compositetransform.rotation(v=vs.95).aspx

+0

Спасибо за помощь – Cheese

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