WPF实现Android或IOS的Tab控件效果
来源:互联网 发布:少女前线淘宝 账号 编辑:程序博客网 时间:2024/05/18 01:25
在手机上,我们看到干净整洁的TabControl,如下图所示:
QQ的TabControl界面:
网易云的TabControl界面:
最后我用WPF实现的TabControl:
虽然虽然丑了一大节,但是但是至少也做到了外观相似啊,颜色、字体、宽度都可以自定义。
做这个控件的思路如下:
1.从Blend中找到TabControl和TabItem的XAML模版
2.在TabItem的模版下面加上一个Lable,Lable的高度、颜色可以自定义
3.切换Page时,将当前选中的Item下的Lable设置为可见,其他设置为不可见。
4.由于要新增加属性和找到模版中的Lable,所以自定义了两个类:
TonyTabControl继承自TabControl
TonyTabItem继承自TabItem
然后在TonyTabItem中新增属性,下划线的隐藏处理也是在TonyTabItem中处理的。
具体的XAML模版代码我就不贴了,请从这里下载源码
后台处理隐藏与显示下划线的TabItem中的代码:
public override void OnApplyTemplate() { base.OnApplyTemplate(); lb = GetTemplateChild("lb") as Label; TonyTabControl tc = this.Parent as TonyTabControl; if (tc != null && this.lb != null) { if (tc.SelectedItem == this) { this.lb.Visibility = System.Windows.Visibility.Visible; this.Foreground = SelectedColor; } else { this.lb.Visibility = System.Windows.Visibility.Collapsed; this.Foreground = new SolidColorBrush(Colors.Black); } } }
在TabControl中,当切换Tab就触发OnApplyTemplate方法。
最后,本控件还有个缺点:没有实现切换下划线动画,嗯,正在构思当中,当有好的方案就会来及时更新,最后哪位大侠能实现请告知我一声,感激不尽!
本文代码下载
阅读全文
0 0
- WPF实现Android或IOS的Tab控件效果
- 超炫酷的WPF实现Loading控件效果
- WPF下可编辑Header的Tab控件实现
- 采用C#WPF实现自己的网页浏览器(自定义Tab控件)
- android实现页面下方的Tab效果
- Android用RadioGroup控件实现Tab选项卡效果
- Android 实现IOS上的水滴效果控件
- android ActivityGroup实现Tab效果
- android实现tab切换效果
- wpf 控件的抖动效果
- Android 各种实现Tab效果的实现方式
- android RelativeLayout控件或view实现叠加效果
- Tab切换效果的实现
- Android实现带动画效果的Tab Menu
- Android--通过ActivityGroup实现Tab的选卡效果
- android中实现tab标签切换时的一些效果
- 【Android进阶】实现各种各样的Tab切换效果
- Android 开源框架ViewPageIndicator或ActionBarSherlock实现tab滑动分页效果
- Node.js 回调函数
- 《shell脚本学习指南》学习笔记之入门 二 grep详细解析
- bzoj1857: [Scoi2010]传送带
- Linux进程通信之共享内存
- JavaSE 成员变量与局部变量
- WPF实现Android或IOS的Tab控件效果
- 走向云计算之MapReduce原理和运行流程详解
- jquery和javascript常用方法比较
- webpack的安装与环境配置
- Scrapy爬虫实战四:糗事百科
- 【简记】Computer Networking——network layer(part three)
- leetcode561. Array Partition I
- 欢迎使用CSDN-markdown编辑器
- 生产者-消费者问题