Exemple #1
0
        private void RefreshItemsCommand(object sender, ExecutedRoutedEventArgs e)
        {
            GridViewColumnHeader header = (GridViewColumnHeader)BaseWPFHelpers.FindElementOfTypeUp((MenuItem)e.OriginalSource, typeof(GridViewColumnHeader));
            Popup popup = (Popup)BaseWPFHelpers.FindElementOfType(header, typeof(Popup));
            GridViewColumnWithFilterAndSorter column = (GridViewColumnWithFilterAndSorter)header.Column;

            ReBuildFiltersList(column.SortPropertyName, (ObservableCollection <FilterItem>)popup.DataContext);
            //popup.IsOpen = false;
        }
Exemple #2
0
        private void RemoveFiltersCommand(object sender, ExecutedRoutedEventArgs e)
        {
            GridViewColumnHeader header = (GridViewColumnHeader)BaseWPFHelpers.FindElementOfTypeUp((MenuItem)e.OriginalSource, typeof(GridViewColumnHeader));
            GridViewColumnWithFilterAndSorter column = (GridViewColumnWithFilterAndSorter)header.Column;
            Popup popup = (Popup)BaseWPFHelpers.FindElementOfType(header, typeof(Popup));

            //foreach (var filterItem in column.FilterItems)
            //{
            //    filterItem.IsChecked = false;
            //}
            column.FilterItems = null;
            popup.IsOpen       = false;
        }
Exemple #3
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            // ensure that the custom inactive style is applied
            if (FilterButtonInactiveStyle != null)
            {
                List <FrameworkElement> columnHeaders = BaseWPFHelpers.FindElementsOfType(this, typeof(GridViewColumnHeader));

                foreach (FrameworkElement columnHeader in columnHeaders)
                {
                    Button button = (Button)BaseWPFHelpers.FindElementOfType(columnHeader, typeof(Button));
                    if (button != null)
                    {
                        button.Style = FilterButtonInactiveStyle;
                    }
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// Handles the ShowFilter command to populate the filter list and display the popup
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ShowFilterCommand(object sender, ExecutedRoutedEventArgs e)
        {
            Button button = e.OriginalSource as Button;

            if (button != null)
            {
                // navigate up to the header
                GridViewColumnHeader header = (GridViewColumnHeader)BaseWPFHelpers.FindElementOfTypeUp(button, typeof(GridViewColumnHeader));
                // then down to the popup
                Popup popup = (Popup)BaseWPFHelpers.FindElementOfType(header, typeof(Popup));
                if (popup != null)
                {
                    // find the property name that we are filtering
                    GridViewColumnWithFilterAndSorter column = GetColumnFilters(header);
                    // open the popup to display this list
                    popup.Closed     += new EventHandler(popup_Closed);
                    popup.DataContext = column.FilterItems;

                    popup.IsOpen = true;
                }
            }
        }