2016-01-24 3 views
0

Я хочу создать элемент управления с настроенным контентом. Текст внутри должен быть повернут в противоположном направлении, чтобы всегда отображаться вертикально. Для этого мне нужно привязать угол поворота текста к углу поворота предка текста. Как это сделать? Извините за мой английский.Связать ротацию содержимого с вращением предка

ответ

0

Что-то вроде этого должно работать. Важно обратить направление вращения двумя зеркальными преобразованиями до и после вращения дочернего элемента.

<Grid Background="AliceBlue" Width="200" Height="200" 
     RenderTransformOrigin="0.5,0.5"> 
    <Grid.RenderTransform> 
     <RotateTransform Angle="45"/> 
    </Grid.RenderTransform> 

    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" 
       Text="Hello" RenderTransformOrigin="0.5,0.5"> 
     <TextBlock.RenderTransform> 
      <TransformGroup> 
       <ScaleTransform ScaleX="-1"/> 
       <RotateTransform Angle="{Binding RenderTransform.Angle, 
        RelativeSource={RelativeSource AncestorType=Panel}}"/> 
       <ScaleTransform ScaleX="-1"/> 
      </TransformGroup> 
     </TextBlock.RenderTransform> 
    </TextBlock> 
</Grid>