Borderless-window-Anwendung und benötigt daher mehr Platz als auf meinem Bildschirm-Auflösung
Habe ich eine grenzenlose Anwendung in WPF, und es funktioniert ziemlich gut. Allerdings, wenn ich die WindowState auf Vollbild, die Anwendung nimmt mehr Platz ein als mein Bildschirm-Auflösung, so gibt es einige Pixel, die außerhalb des Bildschirms in alle Richtungen! (sieht aus wie etwas hart codiert negative Margen werden Hinzugefügt, um zu verbergen die Standard-Grenze)
Irgendwelche Ideen, wie dies zu verhindern?
Meiner xaml:
<Window x:Class="MyApp.Shell"
WindowStyle="None"
BorderThickness="0"
AllowsTransparency="True"
Background="Transparent"
ResizeMode="CanResizeWithGrip"
WindowState="{Binding MainApplicationWindowState}"
...
Auch, ein weiteres problem, das ich gesehen habe ist, dass der Windows-Symbolleiste /Taskleiste ist in der fullsize-Zustand, so wie es aussieht ist die "eigentliche" Bildschirm-Höhe verwendet und nicht die "verfügbar" - Bildschirm Höhe, d.h. die Bildschirmhöhe minus der windows-Symbolleiste /Taskleiste!
Jemand gefunden, der eine Lösung für diese Probleme?
Dank
- Wow-vor 9 Jahren 😀 Hat das Problem nur angezeigt, wenn der AllowsTransparency oder eine WindowChrome eingestellt ist?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Löste ich das problem auf diese Weise:
XAML:
Visual Basic:
Es funktioniert ziemlich gut.
Ich fand diese große Lösung
Aber Fehler bei mir weiterhin besteht, windows ist ein offset von paar Pixel Links und oben... ich habe versucht, zu gesetzten Links und Oben auf 0, nachdem ich die änderung von Fenster-Status, aber nichts passiert.
Versuchen, diese
Eine neuere Funktion von .NET hat das problem gelöst.
Lassen Sie Ihre
WindowStyle="SingleBorderWindow"
oder"ThreeDBorderWindow"
Lassen Sie
ResizeMode="CanResize"
, dann fügen Sie diese, um die xaml innerhalb derDas Fenster wird sich nicht von der Standard-Fenster, aber immer noch erlauben, ändern der Größe und wird nicht auf die Taskleiste, wenn es maximiert ist.
In meinem Fall das XAML-tag des Fensters hatte die Eigenschaft SizeToContent="True" und alles, was ich tun musste, war, um es zu entfernen.
In Xaml legen Sie die folgenden verbindlich auf die
Window.MaxHeight
:Keine Notwendigkeit für eine weitere utility-Klasse.
Brauchte ich diese zu arbeiten in verschiedener Größe-displays (wie die meisten Menschen es sich anhört). Also ich habe einfach dieses...
Ich einen trigger verwenden, der auf das Fenster:
dieser trigger erstellen Sie eine Grenze, wenn Sie die windowstate Maximiert ist. Ich denke, es ist nützlich.