Ejemplo n.º 1
0
        public override void ShowRootItemMenu(int parameter)
        {
            _ActiveItem.IsHighlighted = true;
            var titles = _Titles = Array.ConvertAll(_Tags.GetTags(), t => new LocationItem(t));
            var menu   = new MarkdownList(this)
            {
                ItemsControlMaxHeight = View.ViewportHeight / 2,
                ItemsSource           = titles,
                SelectedIndex         = GetSelectedTagIndex(titles, View.GetCaretPosition().Position),
                FilteredItems         = new System.Windows.Data.ListCollectionView(titles)
            };

            menu.ScrollToSelectedItem();
            menu.MouseLeftButtonUp += MenuItemSelect;
            if (_Tags.Count > 100)
            {
                menu.EnableVirtualMode = true;
            }
            if (_TitleList != menu)
            {
                ListContainer.Children.Remove(_TitleList);
                ListContainer.Children.Add(menu);
                _TitleList = menu;
            }
            if (menu != null)
            {
                Canvas.SetLeft(menu, _ActiveItem.TransformToVisual(_ActiveItem.GetParent <Grid>()).Transform(new Point()).X - View.VisualElement.TranslatePoint(new Point(), View.VisualElement.GetParent <Grid>()).X);
                Canvas.SetTop(menu, -1);
            }
        }
Ejemplo n.º 2
0
        public void ShowRootItemMenu()
        {
            var titles = _Titles = Array.ConvertAll(_Tags.GetTags(), t => new LocationItem(t));
            var menu   = new MarkdownList(this)
            {
                ItemsControlMaxHeight = _View.ViewportHeight / 2,
                ItemsSource           = titles,
                SelectedIndex         = GetSelectedTagIndex(titles, _View.GetCaretPosition().Position),
                FilteredItems         = new System.Windows.Data.ListCollectionView(titles)
            };

            menu.ScrollToSelectedItem();
            menu.MouseLeftButtonUp += MenuItemSelect;
            if (_Tags.Count > 100)
            {
                ScrollViewer.SetCanContentScroll(menu, true);
            }
            if (_TitleList != menu)
            {
                _ListContainer.Children.Remove(_TitleList);
                _ListContainer.Children.Add(menu);
                _TitleList = menu;
            }
            if (menu != null)
            {
                Canvas.SetLeft(menu, _ActiveItem.TransformToVisual(_View.VisualElement).Transform(new Point()).X);
                Canvas.SetTop(menu, -1);
            }
        }