2010-04-14 5 views
1

У меня есть несколько сеток в моем окне. Я создал раскадровку, которая перемещает их слева на x пикселей при нажатии кнопки. Я хочу сделать так, чтобы при повторном нажатии кнопки эти сетки перемещали другие пиксели x, однако я не могу узнать, как это сделать, поскольку это не обычная задача в учебниках.Как вызвать определенные части раскадровки в WPF?

Я попытался создать вторую раскадровку, чтобы сделать это, однако это не сработает, так как сетки вернутся в исходное положение.

Одним из решений может быть создание третьего набора ключевых кадров после первых двух наборов и как-то приостановить анимацию, когда она туда попадет, и возобновляет ее снова при нажатии кнопки, однако я не уверен, как сделать паузу раскадровка, когда она достигает ключевого кадра. Это также затрудняло бы реверсирование сетки (используя этот подход http://social.msdn.microsoft.com/forums/en-US/wpf/thread/ac54de71-f750-4940-91a2-231810308727/), так как я хотел бы сделать еще одну кнопку, чтобы решетки переключались в другую сторону.

+0

Вы должны указать относительное преобразование. Не уверен, как вы это сделаете. – ChrisF

+0

Я не могу найти в Интернете информацию об относительных преобразованиях. То, что я в настоящее время пытаюсь сделать, это попытаться вручную создать раскадровку, которая перемещает все оставшиеся элементы, а затем я создам другую для правильного перемещения и назову их сами. Это все еще довольно запутанно ... – George

ответ

0

Я думаю, что ответ на этот вопрос в WPF заключается в том, что вы не можете. WPF (AFAIK) не позволяет повторять TranslateTransform объект. Вам нужно будет отслеживать, где он находится, и управлять позициями каждого из них.

Я нашел этот элемент управления, который является то, что я искал: http://bot.codeplex.com/ (ЗАП) Scrollbar

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