C# | WPF - la personnalisation de la Barre de Titre - faites Glisser la fenêtre à partir de haut lorsque agrandie ne marche pas

J'ai personnalisé la barre de titre et avec le style de la fenêtre définie sur none. Sur le clic sur la barre de titre-je vérifier pour voir si c'est un double-clic (qui n'fenêtre agrandir et restaurer) si elle n'est pas un double-clique, je ne Window.DragMove. Cela fonctionne très bien pour l'adhérence sur le côté et sur le dessus. Mais quand j'ai essayer de faire glisser la fenêtre lorsqu'elle est agrandie (ce qui serait normalement restaurer la fenêtre vers le bas), il ne fait rien. Voici mon code:

    static Window Window { get { return Application.Current.MainWindow; } }

    ///<summary>
    ///TitleBar_MouseDown - Drag if single-click, resize if double-click
    ///</summary>
    private static void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ChangedButton == MouseButton.Left)
        {
            if (e.ClickCount == 2)
            {
                AdjustWindowSize();
            }
            else
            {
                Window.DragMove();//Here is where I do the drag move
            }
        }
    }

    ///<summary>
    ///Adjusts the WindowSize to correct parameters when Maximize button is clicked
    ///</summary>
    internal static void AdjustWindowSize()
    {
        if (Window.WindowState == WindowState.Maximized)
        {
            SystemCommands.RestoreWindow(Window);
        }
        else
        {
            SystemCommands.MaximizeWindow(Window);
        }

    }

    #region Button Events

    ///<summary>
    ///CloseButton_Clicked
    ///</summary>
    public static void Close()
    {
        SystemCommands.CloseWindow(Window);
    }

    ///<summary>
    ///MaximizedButton_Clicked
    ///</summary>
    public static void Maximize()
    {
        AdjustWindowSize();
    }

    ///<summary>
    ///Minimized Button_Clicked
    ///</summary>
    public static void Minimize()
    {
        SystemCommands.MinimizeWindow(Window);
    }

    #endregion

INTERFACE moderne et MahApps.Le métro est-il en quelque sorte et j'ai regardé le code source brièvement, mais ne pouvait pas trouver comment ils le font.

Merci d'avance.

OriginalL'auteur James Esh | 2014-07-09