Exemplo n.º 1
0
        /// <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();
                }
            }
        }
Exemplo n.º 2
0
        /// <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;
 }
Exemplo n.º 4
0
 /// <summary>
 /// sets the owner
 /// </summary>
 /// <param name="owner"></param>
 public FlyoutContainerGenerator(FlyoutsControl owner)
     : base(owner, ContentControl.ContentProperty, ContentControl.ContentTemplateProperty)
 {
     Owner = owner;
 }