о TranslateTransform и RenderTransformOrigin - PullRequest
1 голос
/ 30 мая 2010

Я использую Silverlight 3.0 + .Net 3.5 + VSTS 2008 + C # для приложения Silverlight.

Я хочу изучить TranslateTransform и RenderTransformOrigin, кто-нибудь может порекомендовать мне несколько учебных пособий? Я новичок в этой области. И я не нашел ничего полезного для новичка в MSDN (поправьте меня, если есть что-то хорошее). : -)

Кстати: меня беспокоит матрица преобразования координации, было бы здорово, если бы учебник мог охватить эту тему.

РЕДАКТИРОВАТЬ: вот код, который я запутался.

    <Grid Margin="-1,0,100,0" x:Name="controlsContainer" Height="35" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Bottom">
        <Grid.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform/>
                <TranslateTransform Y="0"/>
            </TransformGroup>
        </Grid.RenderTransform>
        <Rectangle Margin="0,0,0,0" Height="35" VerticalAlignment="Top" Fill="#97000000" Stroke="#00000000" RenderTransformOrigin="0.5,0.5"/>
        <VideoPlayer:mediaControl Height="35" Margin="1,0,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Top" x:Name="mediaControls" Visibility="Visible"/>
    </Grid>

Ответы [ 2 ]

7 голосов
/ 30 мая 2010

Прежде всего перевод не использует происхождение, поэтому RenderTransformOrigin не применяется к TranslateTransform.

Чтобы узнать о преобразованиях, почему бы не попробовать их? Поместите фигуру два раза в сетку, и пусть верхняя будет прозрачной. Затем трансформируйте верхнюю форму и посмотрите на эффект. Здесь я повернул прямоугольник на 45 градусов вокруг центра прямоугольника.

<Grid Background="White">
  <Rectangle Width="50" Height="50" Fill="Black"/>
  <Rectangle Width="50" Height="50" Fill="Red" Opacity="0.5"
      RenderTransformOrigin="0.5, 0.5">
    <Rectangle.RenderTransform>
      <RotateTransform Angle="45"/>
    </Rectangle.RenderTransform>
  </Rectangle>
</Grid>

RotateTransform

4 голосов
/ 30 мая 2010

Перевести специально обозначается MSDN как Move . Обратитесь к разделу, чтобы получить визуальное представление о Преобразованиях и системах координат .

Перемещает (переводит) элемент на указанные значения X и Y.

альтернативный текст http://i.msdn.microsoft.com/dynimg/IC212086.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...