wpf 更改标题栏颜色
时间: 2023-10-06 12:10:55 浏览: 287
要在 WPF 应用程序中更改标题栏颜色,你可以使用以下步骤:
1. 首先,将窗口的样式设置为 `None`,以便自定义标题栏。在 XAML 中,将 `Window` 标记的 `WindowStyle` 属性设置为 `None`,如下所示:
```xml
<Window x:Class="WpfApp1.MainWindow"
WindowStyle="None"
...>
...
</Window>
```
2. 接着,在窗口的 `BorderlessWindowStyle.xaml` 中创建一个自定义标题栏。这将作为窗口的标题栏。以下是一个简单的示例:
```xml
<Style x:Key="BorderlessWindowStyle" TargetType="{x:Type Window}">
<Setter Property="Background" Value="#FFFFFF" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Background="#007ACC" Grid.Row="0">
<TextBlock Text="{TemplateBinding Title}" Foreground="#FFFFFF" Margin="10,0" VerticalAlignment="Center" />
<Button x:Name="CloseButton" Content="X" HorizontalAlignment="Right" Margin="0,0,10,0" VerticalAlignment="Center" Width="30" Height="20" Foreground="#FFFFFF" Background="Transparent" BorderBrush="Transparent" Click="CloseButton_Click" />
</Grid>
<ContentPresenter Grid.Row="1" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
```
这个样式将创建一个包含一个标题和一个关闭按钮的蓝色标题栏。你可以根据需要更改颜色和样式。
3. 在窗口的构造函数中应用新的样式:
```csharp
public MainWindow()
{
InitializeComponent();
Style = (Style)FindResource("BorderlessWindowStyle");
}
```
这将使窗口使用自定义标题栏样式。
注意:使用自定义标题栏样式后,你需要自己实现窗口的移动和调整大小。你可以编写一些代码来实现此功能,或者使用第三方库来简化这个过程。
阅读全文