Archive

Posts Tagged ‘Bordure’

Personnaliser la barre de titre et la bordure d’une fenêtre

WPF ne nous permet pas de modifier la barre de titre et la bordure de la fenêtre.

Dans cet article nous allons voir comment faire pour fournir à notre fenêtre une barre de titre et une bordure personnalisées.

Personnalisation de la barre de titre :

Puisqu’elle n’est pas personnalisable par défaut nous allons la cacher et fournir notre propre barre de titre.

Pour cela nous devons définir la propriété WindowsStyle de notre fenêtre à None qui a pour effet de cacher cette barre et nous allons y ajouter le code xaml suivant :

Code xaml pour cacher la barre de titre

 

Si vous exécutez l’application vous constaterez que nous ne pouvons plus déplacer notre fenêtre. Une solution simple est de s’abonner à l’évènement de notre contrôle Border qui nous sert de barre de titre et dans le gestionnaire de cet évènement de faire appel à la méthode DragMove de notre fenêtre.

Le code du gestionnaire devra ressembler à ceci :

Gestionnaire d'évènement MouseDown de la bordure servant de barre de titre

Lorsque vous ré exécutez l’application on pourra maintenant déplacer notre fenêtre en gardant le clic droit appuyé et en déplaçant la souris.

Personnalisation de la bordure de la fenêtre

La bordure telle que fournie par WPF n’est pas modifiable. Ce que nous pouvons faire c’est de la cacher en mettant la propriété ResizeMode de notre fenêtre à NoResize.

Mais il se trouve qu’avec cette valeur notre fenêtre n’est pas redimensionnable mais ce n’est pas grave nous allons fournir notre propre mécanisme de redimensionnement en utilisant le contrôle Thumb.

Pour cela nous allons changer le code xaml de notre fenêtre pour qu’il ressemble à ça :

Code xaml avec le contrôle Thumb

Notre fenêtre doit ressembler à ceci avec le contrôle Thumb en bas à droite :

Apparence de la fenêtre avec le contrôle Thumb

Dans le code xaml nous nous abonnons à l’évènement DragDelta de notre contrôle Thumb. Cet évènement va nous permettre de redimensionner notre fenêtre à chaque fois que l’utilisateur garde le clic de la souris sur le contrôle et effectue un déplacement.

Voici le code du gestionnaire de l’évènement DragDelta qui est très simple :

Gestionnaire de l'évènement DragDelta

Et voilà nous avons fini avec la personnalisation de la barre de titre et de la bordure de notre fenêtre.

Si vous avez remarqué l’état actuel des choses ne nous permet de réduire, maximiser, minimiser et fermer notre fenêtre. Pour que cela soit possible il suffit juste d’ajouter les boutons nécessaires et de faire appel à la méthode Close de la fenêtre pour la fermer et de jouer sur la propriété WindowState pour la maximiser, la minimiser ou la réduire.

Publicités
Catégories :WPF Étiquettes : , , ,
%d blogueurs aiment cette page :