首先上效果图:

C# WPF仿360安全卫士11

 

这是我的第一篇随笔,最近因为写一个播放器,开始学习WPF相关技术,随着不断入坑,播放器倒是做出来了,掉坑里了... 本着闲着也是闲着的精神,拿360开刀了;

主界面主要使用DMSkin for WPF 的无边框解决方案;

通过提取360自带的素材,绘制自定义控件;如下:

1.导航栏(TabControl-TabItem)

 1 <Style x:Key="TopTabItem" TargetType="TabItem" >
 2         <Setter Property="Width" Value="100"></Setter>
 3         <Setter Property="FontSize" Value="16"></Setter>
 4         <Setter Property="Height" Value="100"></Setter>
 5         <Setter Property="Foreground" Value="#FF888888"></Setter>
 6         <Setter Property="Template" >
 7             <Setter.Value>
 8                 <ControlTemplate  TargetType="{x:Type TabItem}">
 9                     <Grid>
10                        
11                         <Border x:Name="back" CornerRadius="0" Background="Transparent">
12                             <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" 
13                                         >
14                                 <Image Source="{TemplateBinding Tag}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="40" Height="40"/>
15                                 <TextBlock x:Name="Content" Text="{TemplateBinding Header}"  Foreground="White" FontSize="14" FontFamily="{StaticResource FontFamily}"
16                             HorizontalAlignment="Center"  Margin="0,5,0,0"
17                             VerticalAlignment="Center" ></TextBlock>
18                             </StackPanel>
19                         </Border>
20                     </Grid>
21                     <ControlTemplate.Triggers>
22                         <Trigger Property="IsSelected" Value="true">
23                             <Setter Property="Background" TargetName="back">
24                                 <Setter.Value>
25                                     <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
26                                         <GradientStopCollection>
27                                             <GradientStop Offset="0" Color="Transparent"  />
28                                             <GradientStop Offset="1" Color="#33000000"  />
29                                         </GradientStopCollection>
30                                     </LinearGradientBrush>
31                                 </Setter.Value>
32                             </Setter>
33                         </Trigger>
34                     </ControlTemplate.Triggers>
35                 </ControlTemplate>
36             </Setter.Value>
37         </Setter>
38         <Setter Property="ContentTemplate">
39             <Setter.Value>
40                 <DataTemplate>
41                     <ContentPresenter  Margin="0,0,0,0"  Content="{TemplateBinding Content}"  >
42                     </ContentPresenter>
43                 </DataTemplate>
44             </Setter.Value>
45         </Setter>
46     </Style>
View Code

相关文章: