public override void OnApplyTemplate()
{
base.OnApplyTemplate();
// remove any old handlers
if (_filterMenuButton != null)
{
Debug.Assert(_filterMenuButton.ItemContainerGenerator != null);
_filterMenuButton.ItemContainerGenerator.StatusChanged -= OnFilterButtonItemContainerGeneratorStatusChanged;
}
_filterMenuButton = this.Template.FindName(_filterMenuButtonTemplatePartName, this) as RibbonMenuButton;
if (_filterMenuButton != null)
{
Debug.Assert(_filterMenuButton.ItemContainerGenerator != null);
_filterMenuButton.ItemContainerGenerator.StatusChanged += new EventHandler(OnFilterButtonItemContainerGeneratorStatusChanged);
Binding itemsSourceBinding = new Binding() { Source = this._categoryFilters };
_filterMenuButton.SetBinding(RibbonMenuButton.ItemsSourceProperty, itemsSourceBinding);
_filterMenuButton.Loaded += new RoutedEventHandler(filterMenuButton_Loaded);
}
_itemsPresenter = (ItemsPresenter)GetTemplateChild(ItemsHostName);
_filterContentPane = GetTemplateChild(FilterContentPaneTemplatePartName) as ContentPresenter;
_scrollViewer = GetTemplateChild(RibbonGallery.ScrollViewerTemplatePartName) as ScrollViewer;
}