WPF 高仿360功能界面

news/2024/10/10 20:17:59

WPF 高仿360功能界面,如图:

XAML TabControl 控件

<TabControl Style="{StaticResource TabControlStyle}"><TabItem Header="资源共享" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_dsmain.png"/></TabItem.Background><Grid><Button Content="资源共享" Height="28" Width="180"/></Grid></TabItem><TabItem Header="数据同步" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_Examine.png"/></TabItem.Background><Grid><Button Content="数据同步" Height="28" Width="180"/></Grid></TabItem><TabItem Header="升级程序" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_softmgr.png"/></TabItem.Background><Grid><Button Content="升级程序" Height="28" Width="180"/></Grid></TabItem><TabItem Header="任务计划" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_SpeedupOpt.png"/></TabItem.Background><Grid><Button Content="任务计划" Height="28" Width="180"/></Grid></TabItem><TabItem Header="更新程序" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_SysRepair.png"/></TabItem.Background><Grid><Button Content="更新程序" Height="28" Width="180"/></Grid></TabItem><TabItem Header="插件服务" Style="{StaticResource TabItemStyle}"><TabItem.Background><ImageBrush ImageSource="pack://application:,,,/Micro.Client;component/Image/ico_TraceCleaner.png"/></TabItem.Background><Grid><Button Content="插件服务" Height="28" Width="180"/></Grid></TabItem>
</TabControl>

 XAML TabControl 样式

<ImageBrush x:Key="EnterBrush" ImageSource="pack://application:,,,/Micro.Client;component/Image/enter.png"/>
<ImageBrush x:Key="MoverBrush" ImageSource="pack://application:,,,/Micro.Client;component/Image/mover.png"/>
<Style TargetType="TabControl" x:Key="TabControlStyle"><Setter Property="Control.Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" /><Setter Property="Control.Padding" Value="4,4,4,4" /><Setter Property="Control.BorderThickness" Value="1" /><Setter Property="Control.BorderBrush" Value="#8C8E94" /><Setter Property="Control.Background" Value="#FFF9F9F9" /><Setter Property="Control.HorizontalContentAlignment" Value="Center" /><Setter Property="Control.VerticalContentAlignment" Value="Center" /><Setter Property="Control.Template"><Setter.Value><ControlTemplate TargetType="{x:Type TabControl}"><Grid Name="templateRoot" SnapsToDevicePixels="True" KeyboardNavigation.TabNavigation="Local"><DockPanel HorizontalAlignment="Stretch" Height="Auto" LastChildFill="True" Margin="0" Grid.Row="0" VerticalAlignment="Stretch" Width="Auto" Grid.RowSpan="1"><StackPanel Name="HeaderPanel" Height="Auto" VerticalAlignment="Top" Width="Auto" DockPanel.Dock="Top" IsItemsHost="True" Orientation="Horizontal" CanHorizontallyScroll="True" /><Border Name="ContentPanel" BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="{TemplateBinding Control.BorderThickness}" Width="Auto" DockPanel.Dock="Bottom" Margin="0" Background="{TemplateBinding Control.Background}"><ContentPresenter Name="PART_SelectedContentHost" ContentSource="SelectedContent" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" Height="Auto" /></Border></DockPanel></Grid><ControlTemplate.Triggers><Trigger Property="TabControl.TabStripPlacement" Value="Bottom"><Setter TargetName="HeaderPanel" Property="DockPanel.Dock" Value="Bottom" /><Setter TargetName="ContentPanel" Property="DockPanel.Dock" Value="Top" /></Trigger><Trigger Property="TabControl.TabStripPlacement" Value="Left"><Setter TargetName="HeaderPanel" Property="StackPanel.Orientation" Value="Vertical" /><Setter TargetName="HeaderPanel" Property="DockPanel.Dock" Value="Left" /><Setter TargetName="ContentPanel" Property="DockPanel.Dock" Value="Right" /></Trigger><Trigger Property="TabControl.TabStripPlacement" Value="Right"><Setter TargetName="HeaderPanel" Property="DockPanel.Dock" Value="Right" /><Setter TargetName="HeaderPanel" Property="StackPanel.Orientation" Value="Vertical" /><Setter TargetName="ContentPanel" Property="DockPanel.Dock" Value="Left" /></Trigger><Trigger Property="UIElement.IsEnabled" Value="False"><Setter Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" Property="Control.Foreground" /></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter>
</Style>
<Style x:Key="TabItemStyle" TargetType="{x:Type TabItem}"><Setter Property="Width" Value="80"/><Setter Property="Height" Value="75"/><Setter Property="Foreground" Value="White"/><Setter Property="FrameworkElement.FocusVisualStyle"><Setter.Value><Style><Setter Property="Control.Template"><Setter.Value><ControlTemplate><Rectangle Margin="2" SnapsToDevicePixels="True" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2" /></ControlTemplate></Setter.Value></Setter></Style></Setter.Value></Setter><Setter Property="Control.BorderBrush" Value="#FFACACAC" /><Setter Property="FrameworkElement.Margin" Value="0" /><Setter Property="Control.Padding" Value="6,2" /><Setter Property="Control.HorizontalContentAlignment" Value="Stretch" /><Setter Property="Control.VerticalContentAlignment" Value="Stretch" /><Setter Property="Control.Template"><Setter.Value><ControlTemplate TargetType="{x:Type TabItem}"><Grid Name="templateRoot" SnapsToDevicePixels="True" Width="{TemplateBinding FrameworkElement.Width}" Height="{TemplateBinding FrameworkElement.Height}" Background="#00FFFFFF"><Grid.RowDefinitions><RowDefinition Height="*" /><RowDefinition Height="20" /></Grid.RowDefinitions><Border Name="mainBorder" BorderThickness="1,1,1,0" Margin="0" Grid.RowSpan="1" Background="{TemplateBinding Control.Background}" Width="48" Height="48" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" /><ContentPresenter Name="contentPresenter" ContentTemplate="{TemplateBinding HeaderedContentControl.HeaderTemplate}" Content="{TemplateBinding HeaderedContentControl.Header}" ContentStringFormat="{TemplateBinding HeaderedContentControl.HeaderStringFormat}" ContentSource="Header" Focusable="False" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" TextElement.Foreground="{TemplateBinding Control.Foreground}" /></Grid><ControlTemplate.Triggers><Trigger Property="Selector.IsSelected" Value="True"><Setter TargetName="templateRoot" Value="{StaticResource MoverBrush}" Property="Panel.Background" /></Trigger><MultiTrigger><MultiTrigger.Conditions><Condition Property="UIElement.IsMouseOver" Value="True" /><Condition Property="Selector.IsSelected" Value="False" /></MultiTrigger.Conditions><Setter TargetName="templateRoot" Value="{StaticResource EnterBrush}" Property="Panel.Background" /><Setter TargetName="mainBorder" Property="UIElement.RenderTransform"><Setter.Value><TransformGroup><ScaleTransform ScaleX="1.05" ScaleY="1.05" /><SkewTransform /><RotateTransform /><TranslateTransform /></TransformGroup></Setter.Value></Setter></MultiTrigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter>
</Style>

 

样式素材,enter.png 和 mover.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

软件设计师:操作系统知识

操作系统层次进程管理 顺序执行真题标记并发执行

软考备考

p5,https://www.bilibili.com/video/BV1Qc411G7fB?p=6&vd_source=1a563cd2b3f3fdeb2a16cbbf18022d2f第一章 计算机组成原理与体系结构基础知识(6) 信息化世界是由计算机/手机通过计算机网络与其他的计算机/手机连接的,其中,计算机/手机由三部分组成,从底层到上层分别…

单调队列:从一道题说起_2023CCPC广东省赛B.基站建设

今天遇到一道题: 给定长度为n的数组a,a[i]表示在第i点建立基站的开销。 同时给出m个区间[li,ri],要满足给定的m个区间内都至少有一个基站,求最小的开销。正解是单调队列优化dp,那么什么是单调队列?我们先看另外一道题:显然最小值和最大值是互相独立的,我们可以先考虑最…

Raven-1-WordPress-python命令提权

靶机下载地址:https://www.vulnhub.com/entry/raven-1,256/ 修改hosts文件DescriptionRaven is a Beginner/Intermediate boot2root machine. There are four flags to find and two intended ways of getting root. Built with VMware and tested on Virtual Box. Set up to …

Raven-2-WordPress-UDF提权

0x00 什么是UDF UDF 全称为:User Defined Function,意为用户自定义函数;用户可以添加自定义的新函数到Mysql中,以达到功能的扩充,调用方式与一般系统自带的函数相同,例如 contact(),user(),version()等函数。 udf 文件后缀一般为 dll,由C、C++编写。 0x01 UDF在渗透中…

探讨宝塔切换php版本切换失败的原因和解决方法

宝塔切换php版本是非常简单的操作,但是有时候切换失败可能会导致系统无法正常工作,给我们带来很大的麻烦和困扰。在本文中,我们将探讨可能导致宝塔切换php版本失败的一些常见原因和解决方法。一、检查宝塔是否已成功安装PHP版本在切换PHP版本之前,请确保您已经正确地安装了…

二叉树相关的三个常见算法题

算法题一// 计算一颗二叉树的所有节点的数量 int BinaryTree_CountNode(Tnode_t *root) {int n1, n2;if (NULL == root){return 0;}n1 = BinaryTree_CountNode(root->lchild);n2 = BinaryTree_CountNode(root->rchild);return n1 + n2 + 1; }算法题二// 计算一颗二叉树的…