Microsoft.Windows.Controls.Ribbon.RibbonGallery.filterMenuButton_Loaded C# (CSharp) Méthode

filterMenuButton_Loaded() private méthode

private filterMenuButton_Loaded ( object sender, RoutedEventArgs e ) : void
sender object
e RoutedEventArgs
Résultat void
        private void filterMenuButton_Loaded(object sender, RoutedEventArgs e)
        {
            _filterMenuButton.Loaded -= new RoutedEventHandler(filterMenuButton_Loaded);

            RibbonToggleButton filterToggleButton = _filterMenuButton.Template.FindName(RibbonMenuButton.ToggleButtonTemplatePartName, _filterMenuButton) as RibbonToggleButton;
            if (filterToggleButton != null)
            {
                Binding currentFilterBinding = new Binding("CurrentFilter") { Source = this };
                filterToggleButton.SetBinding(RibbonToggleButton.ContentProperty, currentFilterBinding);

                // Find the RibbonMenuItem for the filter itself so that we can template it.
                // We need to set the following bindings on it:
                //  - DataContext --> CurrentFilter
                //  - Style --> CurrentFilterStyle
                //  - Header --> CurrentFilterHeader  (plus some extra handling for when CurrentFilterHeader is of type BindingBase; see its coercion)
                //  - Template --> CurrentFilterTemplate
                _currentFilterItem = filterToggleButton.Template.FindName("CurrentFilterItem", filterToggleButton) as RibbonMenuItem;
                if (_currentFilterItem != null)
                {
                    // DataContext --> CurrentFilter
                    _currentFilterItem.SetBinding(RibbonMenuItem.DataContextProperty, currentFilterBinding);

                    // Style --> CurrentFilterStyle
                    Binding currentFilterStyleBinding = new Binding("CurrentFilterStyle") { Source = this };
                    _currentFilterItem.SetBinding(RibbonMenuItem.StyleProperty, currentFilterStyleBinding);

                    // Header --> CurrentFilterHeader
                    this.SetHeaderBindingForCurrentFilterItem();

                    // Template --> CurrentFilterTemplate
                    this.SetTemplateBindingForCurrentFilterItem();
                }
            }

            PropertyHelper.TransferProperty(this, ContextMenuProperty);   // Coerce to get a default ContextMenu if none has been specified.
            PropertyHelper.TransferProperty(this, RibbonControlService.CanAddToQuickAccessToolBarDirectlyProperty);
        }
RibbonGallery