gpt4 book ai didi

WPF自定义搜索框代码分享

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章WPF自定义搜索框代码分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

首先下载搜索图标:

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"
        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= "请输入..." 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自定义搜索框代码分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com