WPF自定義搜索框代碼分享
首先下載搜索圖標(biāo):
控件中的搜索圖標(biāo)下載地址:http://www.easyicon.net/1183666-Search_icon.html
搜索框設(shè)計(jì)過(guò)程比較簡(jiǎn)單:
1、先定義一個(gè)Rectangle作為背景
2、然后中間放TextBox輸入,可以重寫(xiě)其中的模板。提示語(yǔ)Label放在模板中,可以在模板的觸發(fā)器中控制隱藏顯示~
3、搜索按鈕-大家隨便在網(wǎng)上下個(gè)就行了。
UserControl界面:
<UserControl x:Class="WpfApplication18.SearchControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 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="請(qǐng)輸入..." 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后臺(tái):
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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
三種方法讓Response.Redirect在新窗口打開(kāi)
通過(guò)設(shè)置form的target屬性同樣可以讓Response.Rederect所指向的url在新的窗口打開(kāi),下面為大家介紹三種具體的實(shí)現(xiàn)方法2013-10-10時(shí)間輕松學(xué)會(huì).NET Core操作ElasticSearch7的方法
這篇文章主要介紹了時(shí)間輕松學(xué)會(huì).NET Core操作ElasticSearch7,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Silverlight中動(dòng)態(tài)獲取Web Service地址
開(kāi)發(fā)過(guò)Silverlight應(yīng)用的朋友們相信都會(huì)遇到這樣一個(gè)問(wèn)題2009-11-11ASP.NET導(dǎo)出數(shù)據(jù)到Excel的實(shí)現(xiàn)方法
在做asp.net程序時(shí)涉及到數(shù)據(jù)顯示的時(shí)候多數(shù)會(huì)要求打印,而網(wǎng)頁(yè)上的打印格式往往又不能滿(mǎn)足需求,經(jīng)常用的方法就是導(dǎo)入到Excel以后再進(jìn)行打印。(仿佛這已經(jīng)是老生常談)今天在網(wǎng)上搜了一段打印的代碼,覺(jué)得不錯(cuò),需要打印的朋友可以看看。2013-07-07ASP.NET Core 使用Cookie驗(yàn)證身份的示例代碼
這篇文章主要介紹了ASP.NET Core 使用Cookie驗(yàn)證身份的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02