Tipp der Woche

WPF: Fenster ohne Fensterrahmen

Quelle: B. Lauer
07.04.2022, 09:53 Uhr
Soll das Anwendungsfenster anders als gewöhnlich aussehen, stört der für Windows typische Fensterrahmen. Den kann man ganz einfach weglassen.
Startet man die Arbeit an einer neuen WPF-Desktop-Anwendung, so gibt Visual Studio den folgenden XAML-Code vor, welcher ein ganz normales Fenster mit dem üblichen Rahmen erzeugt:
<Window x:Class="MainWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:local="clr-namespace:Test"
  mc:Ignorable="d"
  Title="MainWindow" Height="450" Width="800">

  <Grid>
  </Grid>
</Window>
Um den Rahmen zu entfernen muss die folgende Zeile hinzugefügt werden:
AllowsTransparency="True" WindowStyle="None"
Das resultierende Fenster hat keinen Rahmen mehr, allerdings kann man es auch nicht mehr mit der Maus verschieben, auch das Vergrößern und Verkleinern klappt nicht mehr. Dafür braucht es jedoch auch nur eine kleine Erweiterung, so dass der Code dann beispielsweise so aussieht:
<Window x:Class="MainWindow"
  ...
  Title="MainWindow" Height="850" Width="1220"
  AllowsTransparency="True" WindowStyle="None"
  >

  <!-- sorgt dafür, dass man das Fenster per Maus
  vergrößern/verkleinern/verschieben kann -->
  <WindowChrome.WindowChrome>
    <WindowChrome />
  </WindowChrome.WindowChrome>
  ...
</Window>
Jetzt fehlen nur noch ein paar Steuerelemente, um den Nutzer zu erlauben, das Fenster zu minimieren (Me.WindowState = WindowState.Minimized) oder zu schließen (Me.Close).

Autor(in)

Das könnte sie auch interessieren
Windows Presentation Foundation
Erweiterter RichText-Editor für WPF unter .NET 8 mit umfassender Toolbar
VickyQu115, CodeProject
WPF-Praxisbeispiel: Hell-Dunkel-Umschalter
Microsoft
WPF: Verbesserter Dateidialog in .NET 8
CodeProject, Kryukov
WPF: Verbessertes MenuItem-Template
Mehr News?
Besuchen Sie unsere Seite ...
https://www.dotnetpro.de
nach oben