/// <inheritdoc/> //protected override void OnPointerMoved(PointerEventArgs e) //{ // if (titleBar != null && titleBar.IsPointerOver && _mouseDown) // { // WindowState = WindowState.Normal; // BeginMoveDrag(); // _mouseDown = false; // } // base.OnPointerMoved(e); //} public MetroWindow() { if (Design.IsDesignMode == false) { ShowIconOnTitleBarProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowIconOnTitleBarPropertyChangedCallback(o, e)); ShowTitleBarProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowTitleBarPropertyChangedCallback(o, e)); TitleBarHeightProperty.Changed.AddClassHandler <MetroWindow>((o, e) => TitleBarHeightPropertyChangedCallback(o, e)); //TitleCharacterCasingProperty.Changed.AddClassHandler<MetroWindow>((o, e) => TitleCharacterCasingChangedCallback(o, e)); TitleAlignmentProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnTitleAlignmentChanged(o, e)); FlyoutsProperty.Changed.AddClassHandler <MetroWindow>((o, e) => UpdateLogicalChilds(o, e)); LeftWindowCommandsProperty.Changed.AddClassHandler <MetroWindow>((o, e) => UpdateLogicalChilds(o, e)); RightWindowCommandsProperty.Changed.AddClassHandler <MetroWindow>((o, e) => UpdateLogicalChilds(o, e)); WindowButtonCommandsProperty.Changed.AddClassHandler <MetroWindow>((o, e) => UpdateLogicalChilds(o, e)); LeftWindowCommandsOverlayBehaviorProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowTitleBarPropertyChangedCallback(o, e)); RightWindowCommandsOverlayBehaviorProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowTitleBarPropertyChangedCallback(o, e)); WindowButtonCommandsOverlayBehaviorProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowTitleBarPropertyChangedCallback(o, e)); IconOverlayBehaviorProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnShowTitleBarPropertyChangedCallback(o, e)); UseNoneWindowStyleProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnUseNoneWindowStylePropertyChangedCallback(o, e)); WidthProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnWidthChanged(o, e)); HeightProperty.Changed.AddClassHandler <MetroWindow>((o, e) => OnHeightChanged(o, e)); ThemeManager.Instance.IsThemeChanged += ThemeManagerOnIsThemeChanged; SetVisibiltyForAllTitleElements(); if (Flyouts == null) { Flyouts = new FlyoutsControl(); } } }
/// <summary> /// cleanups the events /// </summary> /// <param name="flyoutsControl"></param> protected internal void CleanUp(FlyoutsControl flyoutsControl) { var thumbContentControl = this.flyoutHeader as IMetroThumb; if (thumbContentControl != null) { thumbContentControl.DragStarted -= this.WindowTitleThumbOnDragStarted; thumbContentControl.DragCompleted -= this.WindowTitleThumbOnDragCompleted; //thumbContentControl.PreviewMouseLeftButtonUp -= this.WindowTitleThumbOnPreviewMouseLeftButtonUp; thumbContentControl.DragDelta -= this.WindowTitleThumbMoveOnDragDelta; thumbContentControl.DoubleTapped -= this.WindowTitleThumbChangeWindowStateOnMouseDoubleClick; thumbContentControl.PointerReleased -= this.WindowTitleThumbSystemMenuOnMouseRightButtonUp; } this.parentWindow = null; }
private void OnItemsChaned(FlyoutsControl o, AvaloniaPropertyChangedEventArgs e) { this.IsVisible = true; }
/// <summary> /// sets the owner /// </summary> /// <param name="owner"></param> public FlyoutContainerGenerator(FlyoutsControl owner) : base(owner, ContentControl.ContentProperty, ContentControl.ContentTemplateProperty) { Owner = owner; }