一个简单的TabItem样式。
一个 简单 样式
2023-09-14 09:12:30 时间
分享一个以前项目中用到的简单的TabItem样式。
效果图如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<SolidColorBrush x:Key= "TabItemDisabledBackground" Color= "#F4F4F4" /> <SolidColorBrush x:Key= "TabItemDisabledBorderBrush" Color= "#FFC9C7BA" /> <Style TargetType= "{x:Type TabItem}" > <!--<Setter Property= "FocusVisualStyle" Value= "{x:null}" />--> <Setter Property= "Foreground" Value= "#333333" /> <Setter Property= "FontSize" Value= "16" /> <Setter Property= "BorderBrush" Value= "{StaticResource TabControlNormalBorderBrush}" /> <Setter Property= "Background" Value= "{StaticResource ButtonNormalBackground}" /> <Setter Property= "HorizontalContentAlignment" Value= "Stretch" /> <Setter Property= "VerticalContentAlignment" Value= "Stretch" /> <Setter Property= "Template" > <Setter.Value> <ControlTemplate TargetType= "{x:Type TabItem}" > <Grid SnapsToDevicePixels= "true" Height= "40" MinWidth= "110" > <Path Margin= "0 0 0 -12" x:Name= "PATH" Visibility= "Collapsed" Data= "M0.5,0.5 L109.5,0.5 109.5,39.5 64,40 57,51 49,40 0.5,39.5 z" Fill= "#FF0FAF46" Height= "51.5" Stretch= "Fill" Stroke= "Transparent" Width= "110" /> <Border x:Name= "Bd" Background= "#dfe9f6" > <ContentPresenter Margin= "5 0 5 0" x:Name= "Content" ContentSource= "Header" HorizontalAlignment= "{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" RecognizesAccessKey= "True" SnapsToDevicePixels= "{TemplateBinding SnapsToDevicePixels}" VerticalAlignment= "{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" /> </Border> </Grid> <ControlTemplate.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property= "IsSelected" Value= "true" /> <Condition Property= "TabStripPlacement" Value= "Top" /> </MultiTrigger.Conditions> <Setter Property= "Visibility" Value= "visible" TargetName= "PATH" /> <Setter Property= "Foreground" Value= "White" ></Setter> <Setter Property= "Background" Value= "#FF0FAF46" TargetName= "Bd" /> </MultiTrigger> <Trigger Property= "IsEnabled" Value= "false" > <Setter Property= "Background" TargetName= "Bd" Value= "{StaticResource TabItemDisabledBackground}" /> <Setter Property= "BorderBrush" TargetName= "Bd" Value= "{StaticResource TabItemDisabledBorderBrush}" /> <Setter Property= "Foreground" Value= "{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> |
这里只实现了标签方向在Top的实现,其它动画或者显示效果都是可以随意增加的!
相关文章
- 一个简单的AVR测试程序
- 手把手教你从零写一个简单的 VUE--模板篇
- 微信小程序入门之构建一个简单TODOS应用
- 前后端项目部署-1, flask,只有flask,一个最简单的flask项目部署到Docker的过程,
- golang中time包一个简单的时间格式输出
- 如何给一个vue项目重命名(vue.js 3.2.4)
- 简单起一个本地的http静态服务
- python安装及写一个简单的验证码组件(配合node)
- 一个简单的web服务器
- 关于 WebSocket 和 HTTP 区别的思考以及一个最简单的 WebSocket 的客户端和服务器实现
- Jerry做SAP CRM开发时写的一个工具类 ZCL_JERRY_TOOL
- 使用代码将一个游离的individual object加入到一个新建的object structure里去
- 使用maven的一个最简单的例子
- 进程与线程的一个简单解释
- 打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例
- 通过rxjs的一个例子, 来学习SwitchMap的使用方法
- 用Python做一个游戏辅助脚本,完整编程思路分享!
- socket实现一个简单的echo服务
- 一个简单的puppeteer爬虫
- 【编程实践】Go Web开发:使用Gin快速实现一个HTTP接口
- asp.net 的一个简单进度条功能
- Python学习-一个简单的计时器
- 如何在一个全屏窗口中覆盖状态栏?
- 1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务