亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

WPF自定義搜索框代碼分享

 更新時(shí)間:2016年09月09日 11:40:24   作者:WinterFish  
這篇文章主要為大家詳細(xì)介紹了WPF自定義搜索框代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

首先下載搜索圖標(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)

    三種方法讓Response.Redirect在新窗口打開(kāi)

    通過(guò)設(shè)置form的target屬性同樣可以讓Response.Rederect所指向的url在新的窗口打開(kāi),下面為大家介紹三種具體的實(shí)現(xiàn)方法
    2013-10-10
  • asp.net 頁(yè)面輸出緩存

    asp.net 頁(yè)面輸出緩存

    最簡(jiǎn)單的緩存機(jī)制,把整個(gè)Aspx頁(yè)面保存在服務(wù)器端內(nèi)存中,用戶(hù)請(qǐng)求頁(yè)面時(shí),直接從服務(wù)器端內(nèi)存中提取數(shù)數(shù)據(jù),不在經(jīng)歷頁(yè)面的生命周期。
    2010-02-02
  • 時(shí)間輕松學(xué)會(huì).NET Core操作ElasticSearch7的方法

    時(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-04
  • Silverlight中動(dòng)態(tài)獲取Web Service地址

    Silverlight中動(dòng)態(tài)獲取Web Service地址

    開(kāi)發(fā)過(guò)Silverlight應(yīng)用的朋友們相信都會(huì)遇到這樣一個(gè)問(wèn)題
    2009-11-11
  • asp.net 特定目錄form驗(yàn)證

    asp.net 特定目錄form驗(yàn)證

    前幾聽(tīng)我的一個(gè)同事說(shuō)form驗(yàn)證,我也只是聽(tīng)說(shuō)過(guò),說(shuō)是一個(gè)很簡(jiǎn)單的驗(yàn)證,最近也在做一個(gè)小型的企業(yè)網(wǎng)站(因?yàn)閯傔M(jìn)公司不久,老板就給了單獨(dú)一個(gè)小項(xiàng)目練練手)。
    2009-06-06
  • ASP.NET導(dǎo)出數(shù)據(jù)到Excel的實(shí)現(xiàn)方法

    ASP.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-07
  • .NET  Visual Studio 代碼性能分析工具

    .NET Visual Studio 代碼性能分析工具

    大家都知道性能優(yōu)化對(duì)程序員至關(guān)重要,一個(gè)小問(wèn)題可能導(dǎo)致程序癱瘓,這里我就給大家介紹如何使用工具幫助程序員進(jìn)行代碼性能優(yōu)化,需要的朋友可以參考下
    2015-07-07
  • ASP.NET Core 使用Cookie驗(yàn)證身份的示例代碼

    ASP.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
  • ASP.NET配置文件Web.config用法詳解

    ASP.NET配置文件Web.config用法詳解

    這篇文章主要介紹了ASP.NET配置文件Web.config用法,詳細(xì)解讀了Web.config配置文件各個(gè)節(jié)點(diǎn)的含義及用法,需要的朋友可以參考下
    2014-10-10
  • asp.net gridview列寬固定的幾種方法介紹

    asp.net gridview列寬固定的幾種方法介紹

    以下是對(duì)asp.net gridview列寬固定的幾種方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09

最新評(píng)論