Ejemplo n.º 1
0
        /// <summary>
        /// handle menu item click event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MenuItemClickEventHandler(object sender, RoutedEventArgs e)
        {
            MenuItem           item        = e.OriginalSource as MenuItem;
            NavigationPanePage currentPage = (NavigationPanePage)item.Tag; // gets item's dependent page

            _SetPaneContent(currentPage);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Select next page.
 /// </summary>
 public void SelectNextPage()
 {
     if (_selectedPageIndex < (_collPages.Count - 1))
     {
         NavigationPanePage currentPage = _collPages[_selectedPageIndex + 1] as NavigationPanePage;
         _SetPaneContent(currentPage);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// select previous page.
 /// </summary>
 public void SelectPreviousPage()
 {
     if (_selectedPageIndex >= 1)
     {
         NavigationPanePage currentPage = _collPages[_selectedPageIndex - 1] as NavigationPanePage;
         _SetPaneContent(currentPage);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// moves one element from minimized collection to maximized collection
 /// </summary>
 private void _IncrementMaximizedCollection()
 {
     if (_collMinimizedPages.Count > 0)
     {
         NavigationPanePage currentPage = (NavigationPanePage)_collMinimizedPages[0];
         _collMaximizedPages.Insert(_collMaximizedPages.Count, currentPage);
         _collMinimizedPages.Remove(currentPage);
         currentPage.IsPageButtonMinimized = false;
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// moves one element from maximized collection to minimized collection
 /// </summary>
 private void _DecrementMaximizedCollection()
 {
     if (_collMaximizedPages.Count > 0)
     {
         // gets first page in maximized collection
         NavigationPanePage currentPage = (NavigationPanePage)_collMaximizedPages[_collMaximizedPages.Count - 1];
         _collMinimizedPages.Insert(0, currentPage);
         _collMaximizedPages.Remove(currentPage);
         currentPage.IsPageButtonMinimized = true;
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// adds new page to collection
        /// </summary>
        /// <param name="page"></param>
        public void AddPage(NavigationPanePage page)
        {
            _collPages.Add(page);

            _collMaximizedPages.Add(page);

            _UpdateButtonsStackLayout();

            _UpdateButtonPanelsContent();
            _UpdateMenu();
        }
Ejemplo n.º 7
0
        /// <summary>
        /// removes page from all collection
        /// </summary>
        /// <param name="page"></param>
        public void RemovePage(NavigationPanePage page)
        {
            _collPages.Remove(page);

            int i = _collMinimizedPages.BinarySearch(page);

            if (i >= 0)
            {
                _collMinimizedPages.Remove(page);
            }
            else
            {
                _collMaximizedPages.Remove(page);
            }

            _UpdateButtonsStackLayout();

            _UpdateButtonPanelsContent();
            _UpdateMenu();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// define control content depending on selected page
        /// </summary>
        private void _SetPaneContent(NavigationPanePage page)
        {
            _DeselectAllPages();
            page.IsPageSelected = true;
            _strHeader          = page.PageHeader.ToString();

            if (_expander.IsExpanded)
            {
                _expander.Header = _strHeader;
            }

            _CollapsedButtonLabel.Content = _strHeader;

            this._contentPresenter.Content = (UIElement)page.PageContent;

            _selectedPageIndex = _collPages.IndexOf(page);

            if (IsDropDownOpen)
            {
                IsDropDownOpen = false;
            }

            this.RaiseEvent(new RoutedEventArgs(NavigationPane.ChangeSelectionEvent));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Refill navigation pane with pan pages.
        /// </summary>
        private void _UpdateNavigationPaneButtonsStack()
        {
            if (navigationPane.Pages.Count != 0)
                navigationPane.RemoveAllPages();

            if (_currentCategory != null)
            {
                // fill navigation pane with pages
                foreach (PageItem item in _currentCategory.Children)
                {
                    NavigationPanePage navPage = new NavigationPanePage();
                    navPage.PageHeader = item.Caption;

                    ImageSourceConverter converter = new ImageSourceConverter();

                    navPage.Image = (null == item.Page.Icon) ? (ImageBrush)App.Current.FindResource("DefaultBrush") : item.Page.Icon;

                    navPage.Tag = item;

                    _SetPropertiesBinding(navPage, item);

                    navigationPane.AddPage(navPage);
                }
            }
            else
            {
                NavigationPanePage navPage = new NavigationPanePage();
                navPage.PageHeader = _currentPageItem.Caption;

                ImageSourceConverter converter = new ImageSourceConverter();

                navPage.Image = ((PageItem)_currentPageItem).Page.Icon;

                navPage.Tag = _currentPageItem;
                _SetPropertiesBinding(navPage, (PageItem)_currentPageItem);
                navigationPane.AddPage(navPage);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Sets binding to all necessary properties.
        /// </summary>
        /// <param name="navPage"></param>
        /// <param name="item"></param>
        private void _SetPropertiesBinding(NavigationPanePage navPage, PageItem item)
        {
            Binding enablingBinding = new Binding("IsAllowed");
            enablingBinding.Mode = BindingMode.OneWay;
            enablingBinding.Source = item.Page;
            enablingBinding.NotifyOnSourceUpdated = true;
            BindingOperations.SetBinding(navPage, NavigationPanePage.IsEnabledProperty, enablingBinding);

            Binding reuquiredBinding = new Binding("IsRequired");
            reuquiredBinding.Mode = BindingMode.OneWay;
            reuquiredBinding.Source = item.Page;
            reuquiredBinding.NotifyOnSourceUpdated = true;
            BindingOperations.SetBinding(navPage, NavigationPanePage.IsPageRequiredProperty, reuquiredBinding);

            Binding canCompleteBinding = new Binding("DoesSupportCompleteStatus");
            canCompleteBinding.Mode = BindingMode.OneWay;
            canCompleteBinding.Source = item.Page;
            canCompleteBinding.NotifyOnSourceUpdated = true;
            BindingOperations.SetBinding(navPage, NavigationPanePage.DoesSupportCompleteStatusProperty, canCompleteBinding);

            Binding completeBinding = new Binding("IsComplete");
            completeBinding.Mode = BindingMode.OneWay;
            completeBinding.Source = item.Page;
            completeBinding.NotifyOnSourceUpdated = true;
            BindingOperations.SetBinding(navPage, NavigationPanePage.IsPageCompleteProperty, completeBinding);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// define control content depending on selected page
        /// </summary>
        private void _SetPaneContent(NavigationPanePage page)
        {
            _DeselectAllPages();
            page.IsPageSelected = true;
            _strHeader = page.PageHeader.ToString();

            if (_expander.IsExpanded)
                _expander.Header = _strHeader;

            _CollapsedButtonLabel.Content = _strHeader;

            this._contentPresenter.Content = (UIElement)page.PageContent;

            _selectedPageIndex = _collPages.IndexOf(page);

            if (IsDropDownOpen)
                IsDropDownOpen = false;

            this.RaiseEvent(new RoutedEventArgs(NavigationPane.ChangeSelectionEvent));
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Set selected certain page
 /// </summary>
 public void SelectPage(NavigationPanePage currentPage)
 {
     _SetPaneContent(currentPage);
 }
Ejemplo n.º 13
0
        /// <summary>
        /// removes page from all collection
        /// </summary>
        /// <param name="page"></param>
        public void RemovePage(NavigationPanePage page)
        {
            _collPages.Remove(page);

            int i = _collMinimizedPages.BinarySearch(page);

            if (i >= 0)
                _collMinimizedPages.Remove(page);
            else
                _collMaximizedPages.Remove(page);

            _UpdateButtonsStackLayout();

            _UpdateButtonPanelsContent();
            _UpdateMenu();
        }
Ejemplo n.º 14
0
        /// <summary>
        /// adds new page to collection
        /// </summary>
        /// <param name="page"></param>
        public void AddPage(NavigationPanePage page)
        {
            _collPages.Add(page);

            _collMaximizedPages.Add(page);

            _UpdateButtonsStackLayout();

            _UpdateButtonPanelsContent();
            _UpdateMenu();
        }
Ejemplo n.º 15
0
        /// <summary>
        /// handle page button click event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PageClickEventHandler(object sender, RoutedEventArgs e)
        {
            NavigationPanePage currentPage = (NavigationPanePage)e.OriginalSource;

            _SetPaneContent(currentPage);
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Set selected certain page
 /// </summary>
 public void SelectPage(NavigationPanePage currentPage)
 {
     _SetPaneContent(currentPage);
 }