WP7 переход между холстами в сетке - PullRequest
0 голосов
/ 18 мая 2011

У меня есть два холста в сетке, полные сцены, изображения, которые я хочу перенести, мне интересно, как бы я перешел между этими двумя элементами управления Canvas.

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

Любые предложения о том, как я могу достичь этого программно?

Спасибо.

Редактировать: Я реализовал этот метод, но у меня есть проблемы, кто-нибудь может сказать мне, если я использую его неправильно?

     private void doTransitionIn(Canvas slide)
    {
        SlideTransition slideLeft = new SlideTransition();
        slideLeft.Mode = SlideTransitionMode.SlideDownFadeIn;

        ITransition transition = slideLeft.GetTransition(slide);

        transition.Completed += delegate { transition.Stop(); }; transition.Begin();
    }

    private void doTransitionOut(Canvas slide)
    {
        SlideTransition slideLeft = new SlideTransition();
        slideLeft.Mode = SlideTransitionMode.SlideDownFadeOut;

        ITransition transition = slideLeft.GetTransition(slide);
        transition.Completed += delegate { transition.Stop(); }; transition.Begin();
    }

А вот как я это использую:

            SceneGrid.Children.Add(nextCanvas);
            doTransitionIn(nextCanvas);
            doTransitionOut(currentCanvas);
            SceneGrid.Children.Remove(currentCanvas);

Проблема в том, что анимация, кажется, начинается только частично вниз по экрану, как, например, я вижу, как она скользит последние 20 или около того пикселей, она не скользит полностью.

Ответы [ 2 ]

0 голосов
/ 18 мая 2011

Я бы рекомендовал использовать TransitioningContentControl, который является частью Silverlight Toolkit .Чтобы использовать этот элемент управления, сделайте свой первый Canvas Content этого элемента управления.Для перехода просто измените Content на следующий Canvas, а TransitioningContentControl сделает все остальное!

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

http://blogs.academicclub.org/uidev/2010/06/12/transitioning-content-in-silverlight/

0 голосов
/ 18 мая 2011

В зависимости от того, что вы подразумеваете под «переходом», я бы посмотрел на создание StoryBoard для анимации скрытия / отображения каждого холста.

...