wpf titlebar

Cambio del color de fondo de la barra de título de WPF



titlebar (4)

Tengo una aplicación de Windows WPF. Necesito cambiar el color de fondo de la barra de título. ¿Cómo puedo hacer eso?


Aquí hay un ejemplo de cómo lograr esto:

<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>

Manejar los eventos de clic en el código subyacente.

Para MouseDown -

App.Current.MainWindow.DragMove();

Para Minimizar Botón -

App.Current.MainWindow.WindowState = WindowState.Minimized;

Para DoubleClick y 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; }

Espero que esto ayude.

-Sushant


También puede crear una ventana sin bordes, y hacer los bordes y la barra de título usted mismo


Verifique el siguiente ejemplo de WPF que personaliza la apariencia de una ventana en XAML

Este ejemplo muestra cómo personalizar completamente el estilo / apariencia de una ventana, incluidas las áreas que no son de cliente: barra de título, bordes, máximo, mínimo y botones de cierre mientras se proporciona toda la funcionalidad esperada.


En WPF, la barra de título forma parte del área no cliente, que no se puede modificar a través de la clase de ventana de WPF. Necesitas manipular los manejadores de Win32 (si recuerdo bien).
Este artículo podría ser útil para usted: Custom Window Chrome en WPF .