Partage
  • Partager sur Facebook
  • Partager sur Twitter

[WPF/Win7] Fenêtre maximisée avec fond noir

En utilisant la WPF Shell Integration Library

Sujet résolu
Anonyme
    26 août 2011 à 19:42:52

    Dans le cadre de mon projet MetroIRC (lien dans ma signature), j'utilise des fenêtres WPF personnalisées sans le contour par défaut (WindowStyle=None, AllowsTransparency=True).
    Je veux migrer ça vers la WPF Shell Integration Library pour ne pas avoir à tout faire moi-même (d'autant plus que l'implémentation actuelle a des bugs)
    En soi, ça marche, la fenêtre est correcte, avec mes propres boutons minimiser/maximiser/fermer et le titre, Aero Snap sur les côtés marche...mais Aero Snap sur le haut de l'écran provoque quelque chose d'étrange, voyez par vous-même : http://i.imgur.com/963bV.png
    Ce problème se passe aussi quand je double-clique sur le titre de la fenêtre, mais pas quand je clique sur le bouton "Maximiser" (qui définit WindowState à WindowState.Maximized). Dans ce dernier cas, tout va bien. En fait Windows considère le noir comme faisant partie de la fenêtre ; je peux la déplacer en cliquant sur la partie haute de l'écran comme si c'était une barre de titre.

    J'ai essayé un hack immonde, c'est-à-dire redimensionner la fenêtre aux dimensions de SystemParameters.WorkArea lorsqu'elle passe en WindowState.Maximized (logique non ? :-° ) et ça marche plus ou moins (la fenêtre apparaît pleinement), mais ensuite d'autres problèmes se posent, il faut faire encore plus de hacks, et il y a toujours des trucs bizarres qui restent.

    Quelqu'un a-t-il une idée de comment corriger ça ?

    (PS : J'utilise un thème personnalisé dans Windows mais ça le fait aussi avec le thème Aero et Aero Basic)





    EDIT : Problème résolu...
    La solution est simple mais étrange : dans la Template de la Window, il faut template-binder Width et Height du conteneur principal (un Border dans mon cas) sur ActualWidth et ActualHeight respectivement au lieu de Width et Height.
    Il semblerait que Aero Snap fasse des bizarreries aux fenêtres, ce que WPF ne fait pas lorsqu'on définit WindowState à Maximized.
    • Partager sur Facebook
    • Partager sur Twitter

    [WPF/Win7] Fenêtre maximisée avec fond noir

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown