Question

Existe-t-il un moyen d’avoir des contrôles / images / etc "hors de" la fenêtre / chrome (c'est-à-dire le verre d'Aero) dans WPF?

Un exemple de ce que je veux dire est le WPF Yahoo Messenger qui a été publié (puis arrêté) il y a quelque temps. WindowStyle semble avoir la valeur None, mais AllowTransparencies / CanResize a respectivement la valeur false / true et l'avatar est légèrement "sorti de la fenêtre / chrome".

Je sais que je pourrais créer ma propre bordure de verre, mais cela demande peut-être pas mal d'efforts pour la rendre homogène.

Était-ce utile?

La solution

Oui, je pense que vous devrez remplacer l'interface de Windows par la vôtre. Vous pouvez commencer avec une fenêtre transparente et une grille en laissant une marge autour de la grille. Ensuite, placez les vignettes, la barre de titre, etc. sur la grille pour simuler le comportement de la fenêtre. Une marge autour de la grille vous permettra de dessiner des contrôles en dehors de votre "fenêtre".

<Window
x:Class="TransparentFormDemo.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300"
AllowsTransparency="True"
WindowStyle="None" Background="Transparent">
<Grid Margin="20" Background="AliceBlue">
    <Thumb Name="topThumb" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Top"
           DragDelta="topThumb_DragDelta" Cursor="SizeNS"/>
    <!--Thumbs continued-->
    <Polygon Points="10,110 60,10 110,110" Fill="Blue" Margin="0,-30"/>
</Grid>
</Window>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top