Diese äußeren Elemente eines Anwendungsfensters werden zusammenfassend als Fenster "chrome" bezeichnet und vom Betriebssystem tatsächlich gerendert. Verschiedene Flags werden auf der Windows-API-Ebene verwendet, um bestimmte Aspekte jeder Fensterinstanz zu steuern (z. B. das Vorhandensein einer Steuerbox, Rahmen, Min/Max-Schaltflächen usw.), aber die Rahmenbreite für veränderbare Fenster wird durch eine Systemeinstellung bestimmt um Einheitlichkeit zu gewährleisten und ist nicht Fenster für Fenster konfigurierbar.
Sie können in einigen Fällen die Kontrolle über einige der Aspekte Ihres Fensters erlangen, die von .NET nicht durch Interaktion mit der Windows-API verfügbar gemacht werden, und es ist vorteilhaft, die Windows-API-Dokumentation zu lesen, um herauszufinden, was genau dabei möglich ist niedrigeres Level. Ich empfehle, die Dokumentation für CreateWindowEx als Ausgangspunkt zu lesen.
http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx
.NET können Sie die Formborderstyle-Eigenschaft ändern unter keinen Rand, einzelne Pixelbreite Grenze und resizable (dicke Grenze) zu wählen. Wenn Sie etwas benutzerdefiniertes tun möchten, müssen Sie den .NET-Rahmenstil auf "none" setzen und dann die Verantwortung für das Rendern des Fensters chrome übernehmen. Dazu müssen Sie eine eigene Titelleiste, Min/Max-Schaltflächen und einen Fensterrahmen erstellen. Es ist kein leichtes Unterfangen, aber viele Apps tun es. Es ist ein langer Weg, wenn Sie nur die Randbreite kontrollieren wollen.
In diesem Artikel wird erläutert, wie man diese Aufgabe in WPF angehen könnte, und möglicherweise auch nützlich sein.
Window Chrome In WPF
Gut, setzen Sie die Nutzungsbedingungen dort, oder Sie würden 10 Antworten bekommen haben sage Ihnen dies nicht zu tun (wie Sie sicherlich wissen sind). Dies ist leicht der nervigste Aspekt von Stackoverflow. – MusiGenesis