示例#1
0
        private void BeginMenuAnimations(IViewMenuItem collapsedVMI, IViewMenuItem expandedVMI)
        {
            if (collapsedVMI != null)
            {
                var listBoxItem   = this.MenuListBox.ItemContainerGenerator.ContainerFromItem(collapsedVMI) as ListBoxItem;
                var subMenuBorder = (listBoxItem.Template as ControlTemplate).FindName("SubMenuBorder", listBoxItem) as Border;
                Storyboard.SetTargetProperty(this.SubMenuCollapseAnimation, new PropertyPath(Border.HeightProperty));
                Storyboard.SetTarget(this.SubMenuCollapseAnimation, subMenuBorder);

                this.SubMenuCollapseAnimation.KeyFrames[0].Value = subMenuBorder.ActualHeight;
                this.SubMenuExpandCollapseSB.Children.Add(this.SubMenuCollapseAnimation);
            }
            else
            {
                this.SubMenuExpandCollapseSB.Children.Remove(this.SubMenuCollapseAnimation);
            }

            if (expandedVMI != null)
            {
                var listBoxItem   = this.MenuListBox.ItemContainerGenerator.ContainerFromItem(expandedVMI) as ListBoxItem;
                var subMenuBorder = (listBoxItem.Template as ControlTemplate).FindName("SubMenuBorder", listBoxItem) as Border;
                Storyboard.SetTargetProperty(this.SubMenuExpandAnimation, new PropertyPath(Border.HeightProperty));
                Storyboard.SetTarget(this.SubMenuExpandAnimation, subMenuBorder);

                this.SubMenuExpandAnimation.KeyFrames[1].Value = expandedVMI.Children.Count * 30 + 4;
                this.SubMenuExpandCollapseSB.Children.Add(this.SubMenuExpandAnimation);
            }
            else
            {
                this.SubMenuExpandCollapseSB.Children.Remove(this.SubMenuExpandAnimation);
            }

            this.SubMenuExpandCollapseSB.Begin();
        }
示例#2
0
        private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            IViewMenuItem collapsedVMI = null;
            IViewMenuItem expandedVMI  = null;

            if (e.RemovedItems != null && e.RemovedItems.Count > 0 && e.RemovedItems[0] is IViewMenuItem)
            {
                collapsedVMI = e.RemovedItems[0] as IViewMenuItem;
            }

            if (e.AddedItems != null && e.AddedItems.Count > 0 && e.AddedItems[0] is IViewMenuItem)
            {
                expandedVMI = e.AddedItems[0] as IViewMenuItem;
            }

            this.BeginMenuAnimations(collapsedVMI, expandedVMI);
        }
        public override void Initialize()
        {
            this.ViewMenuItem = this.GetViewMenuItem();

            this.guiRoutingService.Register(this);
        }