WPF: Schlagschatten auf randloses Fenster ohne custom chrome
Im kämpfen mit drop-Schatten auf WPF-Fenster mit WindowStyle=None und ResizeMode=NoResize. Gibt es eine gute alternative zu mit einem Schlagschatten-Effekt auf den Fenster-Inhalt? Ich habe versucht WindowChrome in Shell-Integration-Bibliothek, aber nicht mit "Chrome", wenn ResizeMode=NoResize.
Wenn es möglich war, irgendwie zu zeichnen, wpf-drop-Schatten vor meinem Fenster in Grenzen, könnte es eine Lösung sein. Wenn ich die Zeichnung der Schatten innerhalb des Fensters, bekomme ich ein anderes Verhalten dann standard, wenn beispielsweise die Bewegung der Maus-cursor über den Schatten. Sollte es keine Treffer Tests in meinem Fenster, wenn dies zu tun und auf diesem Gebiet sollte aktivieren Sie das Fenster hinter etc.
Zune scheint zu sein, das seine eigenen Schatten, weil Ihr nicht genau so aussieht wie die standard-Chrome-shadow. Aber Ihr, verhält sich wie ein normaler Schatten, das in dieser Weise seinen keine Mausereignisse. Ich Frage mich, wie Sie es tun.
Spotify hat auch eine andere Art von Schatten, der ist auch nicht Mausereignisse.
Ich denke, dass diese apps zeichnen Ihre eigenen WindowChrome komplett, aber wie? Wird dieser unterstützt in WPF irgendwie?
<Window x:Class="ShellIntegrationTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell"
Title="MainWindow" Height="512" Width="384" WindowStyle="None" ResizeMode="NoResize">
<shell:WindowChrome.WindowChrome>
<shell:WindowChrome ResizeBorderThickness="5" GlassFrameThickness="-1" CornerRadius="0" CaptionHeight="25" />
</shell:WindowChrome.WindowChrome>
</Window>
- Bitte zeigen Sie uns Ihre xaml-Code, damit wir sehen können, was Sie versuchen zu erreichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sah ich dies, als ich versuchte, das gleiche erreichen. Überprüfen Sie heraus die Lösung kam ich mit
Maximale benutzerdefinierte Fenster verliert, drop-Schatten-Effekt
Mit meiner Lösung kann man noch die Größe der form
Dieser code funktioniert auf einem randlosen Fenster zu zeigen, die Schatten, wenn das Fenster nicht die Größe und Stil ist keine.
Wenn Sie ändern ResizeMode auf CanResize und legen Sie die ResizeBorderThickness 0, erhalten Sie ein randloses Fenster, die nicht in der Größe verändert werden und die Schatten können angeklickt werden, so das dahinter liegende Fenster aktiviert.