public override void OnApplyTemplate() { if (_popup != null) { _popup.Loaded -= PopupOnLoaded; } if (_toggleButton != null) { _toggleButton.PreviewMouseLeftButtonUp -= ToggleButtonOnPreviewMouseLeftButtonUp; } base.OnApplyTemplate(); _popup = GetTemplateChild(PopupPartName) as PopupEx; _popupContentControl = GetTemplateChild(PopupContentControlPartName) as ContentControl; _toggleButton = GetTemplateChild(TogglePartName) as ToggleButton; if (_popup != null) { _popup.Loaded += PopupOnLoaded; } if (_toggleButton != null) { _toggleButton.PreviewMouseLeftButtonUp += ToggleButtonOnPreviewMouseLeftButtonUp; } VisualStateManager.GoToState(this, IsPopupOpen ? PopupIsOpenStateName : PopupIsClosedStateName, false); }
public override void OnApplyTemplate() { if (_toggleButton != null) _toggleButton.PreviewMouseLeftButtonUp -= ToggleButtonOnPreviewMouseLeftButtonUp; base.OnApplyTemplate(); _popup = GetTemplateChild(PopupPartName) as PopupEx; _popupContentControl = GetTemplateChild(PopupContentControlPartName) as ContentControl; _toggleButton = GetTemplateChild(TogglePartName) as ToggleButton; _popup?.CommandBindings.Add(new CommandBinding(ClosePopupCommand, ClosePopupHandler)); if (_toggleButton != null) _toggleButton.PreviewMouseLeftButtonUp += ToggleButtonOnPreviewMouseLeftButtonUp; VisualStateManager.GoToState(this, IsPopupOpen ? PopupIsOpenStateName : PopupIsClosedStateName, false); }