Exemplo n.º 1
0
        private void UpdateOrientation()
        {
            if (this.Initializing || this.Items.Count <= 0)
            {
                return;
            }
            StackPanel stackPanel = VisualTreeHelper.GetParent((DependencyObject)this.Items[0]) as StackPanel;

            if (stackPanel != null && stackPanel.Orientation != this.Orientation)
            {
                stackPanel.Orientation = this.Orientation;
                ScrollViewer scrollHost = ItemsControlExtensions.GetScrollHost((ItemsControl)this);
                if (scrollHost != null)
                {
                    scrollHost.HorizontalScrollBarVisibility = this.Orientation == Orientation.Vertical ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Auto;
                    scrollHost.VerticalScrollBarVisibility   = this.Orientation == Orientation.Horizontal ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Auto;
                }
            }
            foreach (object obj in (IEnumerable)this.Items)
            {
                LegendItem legendItem = obj as LegendItem;
                if (legendItem != null && legendItem.Title != null)
                {
                    legendItem.Title.TextTrimming = this.Orientation == Orientation.Vertical ? TextTrimming.WordEllipsis : TextTrimming.None;
                }
            }
        }
Exemplo n.º 2
0
 public void ClearSelection()
 {
     this._currentSelectedItem = (LegendItem)null;
     foreach (LegendItem legendItem in (IEnumerable)this.Items)
     {
         legendItem.IsSelected = false;
     }
 }
Exemplo n.º 3
0
 public void FireItemClick(LegendItem item)
 {
     if (item != null && this.ItemClick != null && this.ItemClick.CanExecute((object)item))
     {
         this.ItemClick.Execute((object)item);
     }
     this.FireSelectionChanged(item);
 }
Exemplo n.º 4
0
 protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
 {
     foreach (LegendItem legendItem in (IEnumerable)this.Items)
     {
         legendItem.Owner = this;
     }
     this._currentSelectedItem = (LegendItem)null;
     base.OnItemsChanged(e);
     this.UpdateContentVisibility();
     this.UpdateOrientation();
     this.UpdateColumnWidths();
     this.UpdateItemMargins();
     this.UpdateItemHeights();
 }
Exemplo n.º 5
0
        private FrameworkElement[][] GetCells()
        {
            List <FrameworkElement[]> list = new List <FrameworkElement[]>();

            foreach (object obj in (IEnumerable)this.Items)
            {
                LegendItem legendItem = obj as LegendItem;
                if (legendItem != null)
                {
                    list.Add(legendItem.GetCells());
                }
            }
            return(list.ToArray());
        }
Exemplo n.º 6
0
        internal LegendItem GetNextItem(LegendItem currentItem, bool isForward)
        {
            int num   = this.Items.IndexOf((object)currentItem);
            int index = !isForward ? num - 1 : num + 1;

            if (index < 0)
            {
                index = 0;
            }
            else if (index > this.Items.Count - 1)
            {
                index = this.Items.Count - 1;
            }
            return((LegendItem)this.Items[index]);
        }
Exemplo n.º 7
0
        internal bool SetFocusToItem(LegendItem item)
        {
            bool flag = false;

            if (item != null)
            {
                if (!item.IsInLegendVisibleArea(this))
                {
                    ScrollViewer scrollHost = ItemsControlExtensions.GetScrollHost((ItemsControl)this);
                    if (scrollHost != null)
                    {
                        ScrollViewerExtensions.ScrollIntoView(scrollHost, (FrameworkElement)item, 0.0, 0.0, (Duration)TimeSpan.Zero.Duration());
                    }
                }
                flag = item.Focus();
            }
            return(flag);
        }
Exemplo n.º 8
0
        private bool ProcessKeysUp(Key key)
        {
            bool   flag   = false;
            Legend legend = this.Owner;

            if (legend == null)
            {
                return(flag);
            }
            switch (key)
            {
            case Key.Return:
            case Key.Space:
                legend.FireItemClick(this);
                break;

            case Key.Prior:
                LegendItem legendItem1 = Enumerable.FirstOrDefault <LegendItem>(Enumerable.OfType <LegendItem>((IEnumerable)legend.Items), (Func <LegendItem, bool>)(item => item.IsInLegendVisibleArea(legend)));
                flag = legend.SetFocusToItem(legendItem1);
                break;

            case Key.Next:
                if (!this.IsInLegendVisibleArea(legend))
                {
                    LegendItem legendItem2 = Enumerable.FirstOrDefault <LegendItem>(Enumerable.OfType <LegendItem>((IEnumerable)legend.Items), (Func <LegendItem, bool>)(item => item.IsInLegendVisibleArea(legend)));
                    flag = legend.SetFocusToItem(legendItem2);
                    break;
                }
                LegendItem legendItem3 = (LegendItem)legend.Items[legend.Items.Count - 1];
                legend.SetFocusToItem(legendItem3);
                break;

            case Key.End:
                LegendItem legendItem4 = (LegendItem)legend.Items[legend.Items.Count - 1];
                flag = legend.SetFocusToItem(legendItem4);
                break;

            case Key.Home:
                LegendItem legendItem5 = (LegendItem)legend.Items[0];
                flag = legend.SetFocusToItem(legendItem5);
                break;
            }
            return(flag);
        }
Exemplo n.º 9
0
 private void FireSelectionChanged(LegendItem selectedItem = null)
 {
     if (selectedItem == null)
     {
         selectedItem = this.SelectedItem;
     }
     if (selectedItem == this._currentSelectedItem)
     {
         return;
     }
     this.OnSelectionChanged(new SelectionChangedEventArgs((RoutedEvent)null, (IList) new object[1]
     {
         (object)this._currentSelectedItem
     }, (IList) new object[1]
     {
         (object)selectedItem
     }));
     this._currentSelectedItem = selectedItem;
 }
Exemplo n.º 10
0
 private void UpdateItemHeights()
 {
     if (this.Initializing)
     {
         return;
     }
     if (this.EqualItemHeight)
     {
         double val2 = 0.0;
         foreach (object obj in (IEnumerable)this.Items)
         {
             LegendItem legendItem = obj as LegendItem;
             if (legendItem != null)
             {
                 val2 = Math.Max(legendItem.ActualHeight, val2);
             }
         }
         if (val2 <= 0.0)
         {
             return;
         }
         foreach (object obj in (IEnumerable)this.Items)
         {
             LegendItem legendItem = obj as LegendItem;
             if (legendItem != null)
             {
                 legendItem.MinHeight = val2;
             }
         }
     }
     else
     {
         foreach (object obj in (IEnumerable)this.Items)
         {
             LegendItem legendItem = obj as LegendItem;
             if (legendItem != null)
             {
                 legendItem.MinHeight = 0.0;
             }
         }
     }
 }
Exemplo n.º 11
0
 private void UpdateItemMargins()
 {
     if (this.Initializing)
     {
         return;
     }
     if (this.Orientation == Orientation.Horizontal)
     {
         foreach (object obj in (IEnumerable)this.Items)
         {
             LegendItem legendItem = obj as LegendItem;
             if (legendItem != null)
             {
                 if (this.Items.IndexOf(obj) != this.Items.Count - 1)
                 {
                     legendItem.ExtendMargin();
                 }
                 else
                 {
                     legendItem.RestoreOriginalMargin();
                 }
             }
         }
     }
     else
     {
         foreach (object obj in (IEnumerable)this.Items)
         {
             LegendItem legendItem = obj as LegendItem;
             if (legendItem != null)
             {
                 legendItem.RestoreOriginalMargin();
             }
         }
     }
 }
Exemplo n.º 12
0
 private void FireSelectionChanged(LegendItem selectedItem = null)
 {
     if (selectedItem == null)
         selectedItem = this.SelectedItem;
     if (selectedItem == this._currentSelectedItem)
         return;
     this.OnSelectionChanged(new SelectionChangedEventArgs((RoutedEvent)null, (IList)new object[1]
     {
     (object) this._currentSelectedItem
     }, (IList)new object[1]
     {
     (object) selectedItem
     }));
     this._currentSelectedItem = selectedItem;
 }
Exemplo n.º 13
0
 public LegendItemAutomationPeer(LegendItem owner)
     : base((FrameworkElement)owner)
 {
 }
Exemplo n.º 14
0
 internal bool SetFocusToItem(LegendItem item)
 {
     bool flag = false;
     if (item != null)
     {
         if (!item.IsInLegendVisibleArea(this))
         {
             ScrollViewer scrollHost = ItemsControlExtensions.GetScrollHost((ItemsControl)this);
             if (scrollHost != null)
                 ScrollViewerExtensions.ScrollIntoView(scrollHost, (FrameworkElement)item, 0.0, 0.0, (Duration)TimeSpan.Zero.Duration());
         }
         flag = item.Focus();
     }
     return flag;
 }
Exemplo n.º 15
0
 protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
 {
     foreach (LegendItem legendItem in (IEnumerable)this.Items)
         legendItem.Owner = this;
     this._currentSelectedItem = (LegendItem)null;
     base.OnItemsChanged(e);
     this.UpdateContentVisibility();
     this.UpdateOrientation();
     this.UpdateColumnWidths();
     this.UpdateItemMargins();
     this.UpdateItemHeights();
 }
Exemplo n.º 16
0
 internal LegendItem GetNextItem(LegendItem currentItem, bool isForward)
 {
     int num = this.Items.IndexOf((object)currentItem);
     int index = !isForward ? num - 1 : num + 1;
     if (index < 0)
         index = 0;
     else if (index > this.Items.Count - 1)
         index = this.Items.Count - 1;
     return (LegendItem)this.Items[index];
 }
Exemplo n.º 17
0
 public void FireItemClick(LegendItem item)
 {
     if (item != null && this.ItemClick != null && this.ItemClick.CanExecute((object)item))
         this.ItemClick.Execute((object)item);
     this.FireSelectionChanged(item);
 }
Exemplo n.º 18
0
 public void ClearSelection()
 {
     this._currentSelectedItem = (LegendItem)null;
     foreach (LegendItem legendItem in (IEnumerable)this.Items)
         legendItem.IsSelected = false;
 }
Exemplo n.º 19
0
 public LegendItemAutomationPeer(LegendItem owner)
     : base((FrameworkElement)owner)
 {
 }
Exemplo n.º 20
0
        private bool TrySetFocusOnNextItem(Legend legend, bool isForward)
        {
            LegendItem nextItem = legend.GetNextItem(this, isForward);

            return(legend.SetFocusToItem(nextItem));
        }