首页 > 代码库 > WPF 自定义标题栏

WPF 自定义标题栏

技术分享

自定义标题栏效果如上,代码示例

<Grid>
<Grid.Resources>
<Style TargetType="RadioButton">
<Setter Property="Margin" Value="http://www.mamicode.com/0.5,2"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Grid>
<Border x:Name="ButtonBorder" Height="35" Width="100" Background="#FF286E9E"></Border>
<TextBlock Text="{TemplateBinding Content}" Foreground="White" FontSize="18" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="http://www.mamicode.com/True">
<Setter TargetName="ButtonBorder" Property="Background" Value="http://www.mamicode.com/DeepSkyBlue"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Border VerticalAlignment="Center" HorizontalAlignment="Center" CornerRadius="16,16,16,16">
<Border.Background>
<LinearGradientBrush StartPoint="0,1" EndPoint="1,1">
<GradientStop Color="White" Offset="0.3"></GradientStop>
<GradientStop Color="DeepSkyBlue" Offset="1"></GradientStop>
</LinearGradientBrush>
</Border.Background>
<StackPanel Orientation="Horizontal" Background="Transparent" Margin="2,0">
<RadioButton Content="综合">
<RadioButton.Template>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Grid>
<Border x:Name="ButtonBorder" Height="35" Width="100" Background="#FF286E9E" CornerRadius="15,0,0,15"></Border>
<TextBlock Text="{TemplateBinding Content}" Foreground="White" FontSize="18" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="http://www.mamicode.com/True">
<Setter TargetName="ButtonBorder" Property="Background" Value="http://www.mamicode.com/DeepSkyBlue"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
<RadioButton Content="语音体验"></RadioButton>
<RadioButton Content="网页浏览"></RadioButton>
<RadioButton Content="视频播放"></RadioButton>
<RadioButton Content="综合覆盖"></RadioButton>
<RadioButton Content="速率性能"></RadioButton>
<RadioButton Content="网络延时">
<RadioButton.Template>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Grid>
<Border x:Name="ButtonBorder" Height="35" Width="100" Background="#FF286E9E" CornerRadius="0,15,15,0"></Border>
<TextBlock Text="{TemplateBinding Content}" Foreground="White" FontSize="18" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="http://www.mamicode.com/True">
<Setter TargetName="ButtonBorder" Property="Background" Value="http://www.mamicode.com/DeepSkyBlue"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
</StackPanel>
</Border>
</Grid>

WPF 自定义标题栏