Ändern der WPF -Titelbalken -Hintergrundfarbe
Frage
Ich habe eine WPF -Windows -Anwendung. Ich muss die Hintergrundfarbe der Titelleiste ändern. Wie kann ich das machen?
Lösung
In WPF ist die Titelbank Teil des Nichtklientenbereichs, der nicht über die WPF-Fensterklasse geändert werden kann. Sie müssen die Win32 -Griffe manipulieren (wenn ich mich richtig erinnere).
Dieser Artikel könnte für Sie hilfreich sein: Benutzerdefinierte Fensterchrom in WPF.
Andere Tipps
Hier ist ein Beispiel, wie man dies erreicht:
<Grid DockPanel.Dock="Right"
HorizontalAlignment="Right">
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right"
VerticalAlignment="Center">
<Button x:Name="MinimizeButton"
KeyboardNavigation.IsTabStop="False"
Click="MinimizeWindow"
Style="{StaticResource MinimizeButton}"
Template="{StaticResource MinimizeButtonControlTemplate}" />
<Button x:Name="MaximizeButton"
KeyboardNavigation.IsTabStop="False"
Click="MaximizeClick"
Style="{DynamicResource MaximizeButton}"
Template="{DynamicResource MaximizeButtonControlTemplate}" />
<Button x:Name="CloseButton"
KeyboardNavigation.IsTabStop="False"
Command="{Binding ApplicationCommands.Close}"
Style="{DynamicResource CloseButton}"
Template="{DynamicResource CloseButtonControlTemplate}"/>
</StackPanel>
</Grid>
</DockPanel>
Behandeln Sie Klick-Ereignisse in der Code-Behind.
Für Mousedown -
App.Current.MainWindow.DragMove();
Zum Minimieren der Taste -
App.Current.MainWindow.WindowState = WindowState.Minimized;
Für DoubleClick und MaximizeClick
if (App.Current.MainWindow.WindowState == WindowState.Maximized)
{
App.Current.MainWindow.WindowState = WindowState.Normal;
}
else if (App.Current.MainWindow.WindowState == WindowState.Normal)
{
App.Current.MainWindow.WindowState = WindowState.Maximized;
}
Ich hoffe das hilft.
Sie können auch ein randloses Fenster erstellen und die Grenzen und die Titelleiste selbst herstellen
Überprüfen Sie die folgende Probe WPF anpassen das Aussehen eines Fensters in XAML
Dieses Beispiel zeigt, wie Sie den Stil/Erscheinungsbild eines Fensters vollständig anpassen können, einschließlich der nicht klienten Bereiche: Titelleiste, Grenzen, Max-, Min- und Schließknöpfe, während sie dennoch alle erwarteten Funktionen liefern.