Example #1
0
        private void BackButton_Response(object sender, CustomButtonEventArgs e)
        {
            if (e.ActionType != "Click")
            {
                return;
            }
            if (NowContainer == null)
            {
                return;
            }

            Pair pair = StackHistory.Pop();

            ChangeCaption(pair.First, -1);
            AniScrollViewer scroll = pair.Second as AniScrollViewer;

            AnimateContainer(NowContainer, 0, 150);
            AnimateContainer(scroll, 1, 0);

            NowCaption   = pair.First;
            NowContainer = scroll;

            if (StackHistory.Count > 0)
            {
                buttonBack.ViewMode = ImageButton.Mode.Visible;
            }
            else
            {
                buttonBack.ViewMode = ImageButton.Mode.Hidden;
            }
        }
Example #2
0
        private void BwSubtitle_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Cancelled || e.Error != null)
            {
                StopSubtitleIndicator();
                return;
            }

            if (e.Result != null)
            {
                Pair            pair  = e.Result as Pair;
                string          title = pair.First;
                List <Listdata> list  = pair.Second as List <Listdata>;

                if (NowContainer != null)
                {
                    buttonBack.ViewMode = ImageButton.Mode.Visible;
                    StackHistory.Push(new Pair(NowCaption, NowContainer));
                    AnimateContainer(NowContainer, 0, -150);
                    ChangeCaption(title);
                }
                else
                {
                    buttonBack.ViewMode = ImageButton.Mode.Hidden;
                    ChangeCaption(title, 0);
                }

                AniScrollViewer scroll = new AniScrollViewer()
                {
                    Opacity = 0,
                    Margin  = new Thickness(150, 0, 0, 0),
                    VerticalScrollBarVisibility = ScrollBarVisibility.Auto,
                };
                StackPanel stack = new StackPanel();

                foreach (Listdata data in list)
                {
                    ListItem item = new ListItem(data);
                    item.Response += SubtitleItem_Response;
                    stack.Children.Add(item);
                }

                NowCaption   = title;
                NowContainer = scroll;
                AnimateContainer(scroll, 1, 0);

                scroll.Content = stack;
                gridSubtitle.Children.Add(scroll);
                scroll.ScrollToTop();
            }
            else
            {
                NowContainer.IsHitTestVisible = true;
            }

            StopSubtitleIndicator();
        }
Example #3
0
        private void AnimateContainer(AniScrollViewer element, double opacity, double left)
        {
            element.IsHitTestVisible = opacity == 0 ? false : true;

            Storyboard sb = new Storyboard();

            sb.Children.Add(Animation.GetDoubleAnimation(opacity, element, 350));
            sb.Children.Add(Animation.GetThicknessAnimation(350, left, 0, element));

            sb.Begin();
        }