WPF自定义搜索框代码分享
首先下载搜索图标:
控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html
搜索框设计过程比较简单:
1、先定义一个Rectangle作为背景
2、然后中间放TextBox输入,可以重写其中的模板。提示语Label放在模板中,可以在模板的触发器中控制隐藏显示~
3、搜索按钮-大家随便在网上下个就行了。
UserControl界面:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<UserControl x:Class= "WpfApplication18.SearchControl" mc:Ignorable= "d" MinHeight= "30" MinWidth= "150" Background= "Transparent" d:DesignHeight= "30" d:DesignWidth= "150" > <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width= "15" ></ColumnDefinition> <ColumnDefinition Width= "*" ></ColumnDefinition> <ColumnDefinition Width= "36" ></ColumnDefinition> </Grid.ColumnDefinitions> <Rectangle Grid.Column= "0" Grid.ColumnSpan= "3" Fill= "LightGray" RadiusX= "15" RadiusY= "15" Opacity= "0.8" ></Rectangle> <TextBox x:Name= "TbxInput" Grid.Column= "1" KeyDown= "TbxInput_OnKeyDown" > <TextBox.Template> <ControlTemplate TargetType= "TextBox" > <Grid> <TextBlock x:Name= "Uc_TblShow" Text= "请输入..." Foreground= "Gray" Opacity= "0.5" VerticalAlignment= "Center" Visibility= "Collapsed" ></TextBlock> <TextBox x:Name= "Uc_TbxContent" Foreground= "Gray" Background= "Transparent" VerticalAlignment= "Center" VerticalContentAlignment= "Center" BorderThickness= "0" Text= "{Binding ElementName=TbxInput,Path=Text,Mode=TwoWay}" FontSize= "18" ></TextBox> </Grid> <ControlTemplate.Triggers> <Trigger SourceName= "Uc_TbxContent" Property= "Text" Value= "" > <Setter TargetName= "Uc_TblShow" Property= "Visibility" Value= "Visible" ></Setter> </Trigger> <Trigger SourceName= "Uc_TbxContent" Property= "IsFocused" Value= "True" > <Setter TargetName= "Uc_TblShow" Property= "Visibility" Value= "Collapsed" ></Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </TextBox.Template> </TextBox> <Button x:Name= "BtnSearch" Grid.Column= "2" Click= "BtnSearch_OnClick" Cursor= "Hand" > <Button.Template> <ControlTemplate TargetType= "Button" > <Grid> <Image x:Name= "Uc_Image" Source= "1181298.png" Height= "20" Width= "20" ></Image> <ContentPresenter></ContentPresenter> </Grid> <ControlTemplate.Triggers> <Trigger Property= "IsMouseOver" Value= "true" > <Setter TargetName= "Uc_Image" Property= "Height" Value= "25" ></Setter> <Setter TargetName= "Uc_Image" Property= "Width" Value= "25" ></Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button> </Grid> </UserControl> |
UserControl后台:
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
|
public partial class SearchControl : UserControl { public SearchControl() { InitializeComponent(); } public event EventHandler<SearchEventArgs> OnSearch; private void BtnSearch_OnClick( object sender, RoutedEventArgs e) { ExeccuteSearch(); } private void TbxInput_OnKeyDown( object sender, KeyEventArgs e) { ExeccuteSearch(); } private void ExeccuteSearch() { if (OnSearch!= null ) { var args= new SearchEventArgs(); args.SearchText = TbxInput.Text; OnSearch( this , args); } } } public class SearchEventArgs : EventArgs { public string SearchText { get ; set ; } } |
直接引用就行了:<wpfApplication18:SearchControl></wpfApplication18:SearchControl>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
WPF自定义搜索框代码分享的更多相关文章
- WPF 自定义搜索框
控件中的搜索图标下载地址:http://www.easyicon.net/1183666-Search_icon.html 搜索框设计过程比较简单: 1.先定义一个Rectangle作为背景 2. ...
- bootStrap-table服务器端后台分页的使用,以及自定义搜索框的实现,前端代码到数据查询超详细讲解
关于分页,之前一直纯手写js代码来实现,最近又需要用到分页,找了好多最终确定bootstrap-table,正好前端页面用的是bootstrap. 首先下载BootStrap-table的js和CSS ...
- iOS开发UI篇 -- UISearchBar 属性、方法详解及应用(自定义搜索框样式)
很多APP都会涉及到搜索框,苹果也为我们提供了默认的搜索框UISearchBar.但实际项目中我们通常需要更改系统默认搜索框的样式.为了实现这一目标,我们需要先搞懂 UISearchBar 的属性及方 ...
- Qt之自定义搜索框
简述 关于搜索框,大家都经常接触.例如:浏览器搜索.Windows资源管理器搜索等. 当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定. 方案一:调用QLineEdit现有接口 void ...
- 【Qt】Qt之自定义搜索框【转】
简述 关于搜索框,大家都经常接触.例如:浏览器搜索.Windows资源管理器搜索等. 当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定. 简述 效果 细节分析 Coding 源码下载 效果 ...
- Android自定义View——自定义搜索框(SearchView)
Android自定义View——自定义搜索框(SearchView) http://www.apkbus.com/android-142064-1-1.html
- Qt之自定义搜索框——QLineEdit里增加一个Layout,还不影响正常输入文字(好像是一种比较通吃的方法)
简述 关于搜索框,大家都经常接触.例如:浏览器搜索.Windows资源管理器搜索等. 当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定. 方案一:调用QLineEdit现有接口 void ...
- AJ学IOS 之微博项目实战(5)微博自定义搜索框searchBar
AJ分享,必须精品 一:效果 用UITextField简单定义一个搜索框 二:调用: 调用的代码,很简单,直接init就可以,以后加功能自己添加就行了. - (void)viewDidLoad { [ ...
- WPF 自定义文本框输入法 IME 跟随光标
本文告诉大家在 WPF 写一个自定义的文本框,如何实现让输入法跟随光标 本文非小白向,本文适合想开发自定义的文本框,从底层开始开发的文本库的伙伴.在开始之前,期望了解了文本库开发的基础知识 本文实现的 ...
随机推荐
- Turn on and off trigger events 生效控制
平台 Qualcomm 解說 Qualcomm 平台的 Turn-on event 有 KYPD_PWR_N,CBL_PWR_N,.... 也有 PMIC reset and power-off ev ...
- dhcp 学习整理
centos 6.5 rpm: dhcp-4.1.1-25.P1.el6.x86_64 dhcp-common-4.1.1-25.P1.el6.x86_64 服务: /etc/rc.d/init.d/ ...
- springBoot 环境
环境约束 jdk1.8:Spring Boot 推荐jdk1.7及以上:maven3.x:maven 3.3以上版本:Apache Maven 3.3.9.IntelliJIDEA2017:Intel ...
- 【转】awk的使用及字符串的操作
awk教程 转载[awk的使用及字符串的操作] sed版: sed '1~2d' file #删除奇数行 sed '1~2!d' file #删除偶数行 awk版: awk 'NR%2==0' fil ...
- 爬虫学习笔记(三)requests模块使用
前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...
- POJ 2406 Power Strings KMP算法之next数组的应用
题意:给一个字符串,求该串最多由多少个相同的子串相接而成. 思路:只要做过poj 1961之后,这道题就很简单了.poj 1961 详细题解传送门. 假设字符串的长度为len,如果 len % (le ...
- 搭建 Maven ---基础入门
这篇随笔从最基础的控制台 搭建maven讲,后面再升入的讲解IDEA搭建Maven. 一,Maven是什么?作用是什么? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project O ...
- Using Blocks in iOS 4: The Basics
iOS 4 introduces one new feature that will fundamentally change the way you program in general: bloc ...
- 深入解析hostname
结论:/etc/sysconfig/network 确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内 ...
- Android 网络编程 记录
简单介绍 看了深入理解Android网络编程感觉不错.今天对Android网络编程进行了要点记录. 内容 Android基于网络技术和编程实践 要点 定义 描写叙述 IP协议 用于报文交换网络的一种面 ...