Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 1
1

Как последовательно применить несколько трансформаций

30.10.2009, 01:14. Просмотров 2133. Ответов 2
Метки нет (Все метки)

Если просто, есть прямоугольник его нужно сместить с начало на y+=100 x+=100 с помощью трансформации затем повернуть на 40 градусов относительно уже смещенного нуля, как это сделать?

если делать

XML
1
2
3
4
5
6
7
8
       <Grid Background="Red"> \\  выступает в роле прямоугольника
            <Grid.RenderTransform>
                <TransformGroup>
                    <TranslateTransform X="100" Y="0"/>
                    <RotateTransform CenterX="0" CenterY="0" Angle="40" />
                </TransformGroup>
            </Grid.RenderTransform>
        </Grid>
то поворачивается относительно реального 0;0; а надо относительно смещенного

Нужный результат можно достигнуть, если сделать так

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RenderTransform>
            <TransformGroup>
                <TranslateTransform X="100" Y="0"/>
            </TransformGroup>
        </Grid.RenderTransform>
        <Grid Background="Red">
            <Grid.RenderTransform>
                <TransformGroup>
                    <RotateTransform CenterX="0" CenterY="0" Angle="40" />
                </TransformGroup>
            </Grid.RenderTransform>
        </Grid>
    </Grid>
т.е. оборачиваем еще раз другим объектом и делаем одну трансформацию там, но это криво

Задача упрощена понятно что можно подставить координаты в CenterX CenterY на самом деле задача сложнее на объект накладываются произвольное кол-во транформаций разных, и все они должны применяться друг за другом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2009, 01:14
Ответы с готовыми решениями:

Как применить несколько заливок к элементу?
Всем привет. Подскажите новичку, как поступить в следующей ситуации? Необходимо отрисовать...

Как запустить несколько приложений последовательно?
Здравствуйте. Как мне написать скрипт, который бы последовательно запускал три приложения?

Java. Как последовательно запустить несколько exe
Как запустить несколько экзешников последовательно? То есть, когда я запускаю их с помощью...

Как задать движение автомобиля последовательно на несколько остановок?
Здравствуйте всем! Есть автобус, который должен подобрать людей на некоторых остановках маршрута,...

2
84 / 83 / 6
Регистрация: 13.07.2009
Сообщений: 107
30.10.2009, 19:42 2
На сколько я в курсе, в XAML все построено на принципе: "все, что делается в один момент группируется в одном узле. Последовательные изменения отображаются в древовидной структуре".
Я высказал своими словами то, каким мне представляется вообще WPF . Думал найти что думает Микрософт по этому поводу в книге для подготовки к экзамену 70-502 (MCTS: .NET Framework 3.5 - Windows Presentation Foundation) - гады во всех примерах только по одной трансформации приводят
0
32 / 32 / 7
Регистрация: 26.10.2009
Сообщений: 98
07.12.2009, 22:28 3
А почему нельзя это все вынести допустим в ресурсы окна и поместить в Storyboard? Насколько понимаю, тогда и проблема нескольких последовательных анимаций пропадет
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2009, 22:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как применить несколько правил CSS одновременно?
Добрый день! Имеется простейшая квадратная HTML таблица (для наглядности размерность 3x3): ...

Как можно в базе Firebird запустить несколько скриптов последовательно?
Времени суток доброго. Вопрос такой, как можно в базе запустить несколько скриптов...

Как динамически создать последовательно несколько TextBox по нажатию кнопки
Уважаемые специалисты C#! Подскажите пожалуйста, как динамически создать несколько TextBox-ов не...

Как можно в textarea применить ::first-line, или как к первой строки применить стиль, внутри данного элемента
Да и вообще, для этого можно ли еще что-либо вложить в данный элемент, кроме как текста? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.