XAML-Kolumne: WPF und Windows-Apps

XAML-Tipp: WPF – Fenster komplett transparent darstellen
Kommentare

In der Kolumne „XAML Expertise“ präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „WPF: Fenster komplett transparent darstellen“.

WPF: Fenster komplett transparent darstellen

Es mag spezielle Fälle geben, in denen eine Windows-Anwendung ein komplett transparentes Fenster benötigt. Ein mögliches Beispiel ist ein Record-Button, der ohne besondere Oberfläche auf dem Desktop liegt und bei Bedarf sofort betätigt werden kann. Das sollte unter WPF in der Regel ganz einfach funktionieren, indem die Window Background-Eigenschaft auf den Wert Transparent gesetzt wird. Tests zeigen aber schnell, dass der Hintergrund jetzt nur schwarz dargestellt wird. Der gewünschte Effekt kann also doch nicht ganz so einfach erzielt werden. Damit der gewünschte Effekt doch noch funktioniert, müssen die Transparenz erlaubt und das allgemeine Fenster-Style deaktiviert werden. Also einfach zusätzlich das AllowsTransparency-Property auf „true“ setzen und das WindowStyle-Property auf „none“. Jetzt wird beim Starten der Anwendung nur noch der Inhalt angezeigt. Ein Problem ist nun lediglich das Verschieben vom Fenster, das nicht mehr ohne Weiteres möglich ist. Dazu passend sollte eine Drag-and-Drop-Logik implementiert werden. Der XAML-Code dazu steht in Listing 1, Abbildung 1 zeigt das fertige Ergebnis.

<Window x:Class="WpfWindowTransparent.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"
  mc:Ignorable="d"
  Title="MainWindow" Height="350" Width="525"
  Background="Transparent"
  WindowStyle="None"
  AllowsTransparency="True">
  <Grid>
    <Button Width="100" Height="30">Record</Button>
  </Grid>
</Window>
Abb. 3: Das WPF-Fenster ist komplett transparent

Abb. 1: Das WPF-Fenster ist komplett transparent

Aufmacherbild: a window washer squeegiee cleans a window while window washing von Shutterstock / Urheberrecht: mikeledray

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -