首先上效果图:

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

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

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

1.导航栏(TabControl-TabItem)

 <Style x:Key="TopTabItem" TargetType="TabItem" >
<Setter Property="Width" Value="100"></Setter>
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="Height" Value="100"></Setter>
<Setter Property="Foreground" Value="#FF888888"></Setter>
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid> <Border x:Name="back" CornerRadius="0" Background="Transparent">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"
>
<Image Source="{TemplateBinding Tag}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="40" Height="40"/>
<TextBlock x:Name="Content" Text="{TemplateBinding Header}" Foreground="White" FontSize="14" FontFamily="{StaticResource FontFamily}"
HorizontalAlignment="Center" Margin="0,5,0,0"
VerticalAlignment="Center" ></TextBlock>
</StackPanel>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter Property="Background" TargetName="back">
<Setter.Value>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStopCollection>
<GradientStop Offset="0" Color="Transparent" />
<GradientStop Offset="1" Color="#33000000" />
</GradientStopCollection>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Margin="0,0,0,0" Content="{TemplateBinding Content}" >
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>

2.按钮(自定义Button)

  <Style x:Key="Button360" TargetType="Button">
<Setter Property="Width" Value="200"></Setter>
<Setter Property="FontSize" Value="25"></Setter>
<Setter Property="Height" Value="60"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{StaticResource MainColor}" x:Name="back" CornerRadius="30">
<Border x:Name="for" CornerRadius="30">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"></ContentPresenter>
</Border>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" TargetName="for" Value="#33000000"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Width" TargetName="back" Value="199"></Setter>
<Setter Property="Height" TargetName="back" Value="59"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

3.图片按钮(自定义Button)

 <Style x:Key="ImageButton" TargetType="Button">
<Setter Property="Width" Value="60"></Setter>
<Setter Property="FontSize" Value="12"></Setter>
<Setter Property="Height" Value="60"></Setter>
<Setter Property="Foreground" Value="#FF888888"></Setter>
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="back" CornerRadius="0" Background="Transparent">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" >
<Image Source="{TemplateBinding Tag}" x:Name="icon" HorizontalAlignment="Center" VerticalAlignment="Center" Width="35" Height="35"/>
<ContentPresenter></ContentPresenter>
</StackPanel>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" TargetName="back" Value="#33000000"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Width" TargetName="icon" Value="34"></Setter>
<Setter Property="Height" TargetName="icon" Value="34"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

以上就是界面核心控件的样式了

另外,球的水波动态是真做不来,求指教。。。

源码:

https://pan.baidu.com/s/1yBNYuZTSTLiAm7ObEb1_ig

密码: sizk

C# WPF仿360安全卫士11的更多相关文章

  1. C#制作高仿360安全卫士窗体3

    C#制作高仿360安全卫士窗体(三)   距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作 ...

  2. C#制作高仿360安全卫士窗体2

    C#制作高仿360安全卫士窗体 继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家 ...

  3. C#制作高仿360安全卫士窗体<二>

    继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家,写的非常乱而且很少文字介绍.在 ...

  4. C#制作高仿360安全卫士窗体<一>

    开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...

  5. C#制作高仿360安全卫士窗体(四)- 水晶按钮

    项目越来越紧,我也乐此不疲.自从上次C#制作高仿360安全卫士窗体(三)出来之后,就开始有一些人在说为什么还在坚持写这么落后的东西.我想说的是,我是从事企业信息化工作的,所有程序都只对内部使用.所以只 ...

  6. C#制作高仿360安全卫士窗体(三)

    距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作文本框写一下.同时也希望有爱好这些玩意的同 ...

  7. 360安全卫士11.0史上最小版发布,去流氓,最精简,300MB内存轻松运行。完全不拖慢电脑的速度,由王宁诚意发布。

    360安全卫士11.0史上最小版发布,也是史上最快版本.大家可能都不喜欢360,为什么?因为360太流氓,而大家想过如果360去掉了流氓会怎么样?对,那样360就会变成一个性能可以超过知名杀毒软件-s ...

  8. WPF仿360卫士9.0界面设计

    Chrome插件——一键保存网页为PDF1.0 http://blog.csdn.net/bdstjk/article/details/9208313 仿照网上的一个代码写的,地址找不到了. 将窗体, ...

  9. WPF如何实现一款类似360安全卫士界面的程序?(共享源码!)

    以前学习Windows Form编程的时候,总感觉自己做的界面很丑,看到360安全卫士.迅雷等软件的UI设计都非常美观,心里总是憧憬着要是自己能实现这样的UI效果该多好!!!另一个困扰我的问题是,这个 ...

随机推荐

  1. MyBatis(傻瓜式)框架

    log4j的配置文件: 使用一个log4j.properties的配置文件,会设定log4j的设置信息,例如日志级别,日志输出方式,日志格式等等: # Set root category priori ...

  2. SQL SERVER LINUX

    以前在Linux平台上访问SQL Server时常用的方式有:http://www.freetds.org/https://sourceforge.net/projects/jtds/这方面的资料已经 ...

  3. Kotlin的参考资料

    参考资料和站点 http://kotlinlang.org/ 官方网站 https://github.com/JetBrains/kotlin/releases/tag/v1.0.6 下载compil ...

  4. 方法调用 Controller的Action 参数

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. mysql练习----Using Null

    teacher id dept name phone mobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 555 1920 ...

  6. android 休眠唤醒机制分析(一) — wake_lock【转】

    Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作.wake_lock一般在关闭lcd.tp但系统 ...

  7. 【底层原理】深入理解Cache (上)

    存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小.寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再 ...

  8. SMB协议原理抓包分析

    SMB协议原理抓包分析 目录: 1.SMB概述 2.SMB原理 3.SMB配置 一.SMB概述 SMB(全称是Server Message Block)是一个协议名,可用于在计算机间共享文件.打印机. ...

  9. win7升级IE11后F12无法正常操作

    今天在win7下把ie9升级为ie11,但是升级后发现ie11的F12无法正常操作,经过查找,发现需要安装win7补丁:KB3008923 下载地址:http://www.microsoft.com/ ...

  10. php学习----错误处理和代码重用

    php错误处理 一.错误分类:1.语法错误 2.运行时错误 3.逻辑错误 错误代号(部分): 所有看到的错误代码在php中都被定义为系统常量(可以直接使用) 1)系统错误 E_PARSE:编译错误,代 ...