lib文件夹中放的是控件的源码dll,该dll包含大量本人在这几年项目中的控件,现在逐步编写到github上,github地址
- Mask 水印提示
- MaskForeground 水印提示文字文字
- MaskFontSize 水印提示文字大小
- MaskHorizontalAlignment 水印提示横向对齐
- MaskVerticalAlignment 水印提示纵向对齐
- TextInputType 输入类型:Default(都可以)、Digital(纯数字)、Letter(纯字母)、InputMethodEnabled(关闭输入法)、DigitalWithOemPeriod(带小数点的数字)、DigitalWithMinus(有符号的数字)、DigitalWithMinusAndOemPeriod(有符号的数字,支持小数点)
- Units 小数位数(配合TextInputType的类型)
- IntCount 数字的位数(配合TextInputType的类型为纯数字)
- LeftContent 输入框左侧内容
- RightContent 输入框右侧内容
- TextDigitalHelper 是一个附加属性类,控制输入类型,可应用到普通的TextBox上
- ControlAttachPropertyHepler 是一个附加属性类(从网上的版本修改了很多),对网络图标字体进行了友好支持,详情看MyWPFUIBaseDemo,以后会重点优化
<Grid>
<Grid.Resources>
<Style TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Height" Value="30"></Setter>
<Setter Property="Margin" Value="10"></Setter>
<Setter Property="BorderBrush" Value="#000000"></Setter>
</Style>
<Style TargetType="mywpf:MyTextBox" BasedOn="{StaticResource {x:Type mywpf:MyTextBox}}">
<Setter Property="Height" Value="30"></Setter>
<Setter Property="Margin" Value="10"></Setter>
<Setter Property="BorderBrush" Value="#000000"></Setter>
</Style>
</Grid.Resources>
<StackPanel>
<GroupBox Header="MyTextBox的特性" Margin="10" BorderBrush="Green" BorderThickness="2">
<StackPanel>
<mywpf:MyTextBox Mask="请在这里输入信息"></mywpf:MyTextBox>
<mywpf:MyTextBox TextInputType="Digital" Mask="只能输入数字(10位)" IntCount="10" MaskForeground="Red" MaskFontSize="15" MaskHorizontalAlignment="Right"></mywpf:MyTextBox>
<mywpf:MyTextBox TextInputType="DigitalWithMinus" Mask="只能输入正负数" MaskForeground="Green" MaskFontSize="17"></mywpf:MyTextBox>
<mywpf:MyTextBox LeftContent="%" RightContent="$" TextInputType="DigitalWithMinusAndOemPeriod" Mask="正负数(小数默认两位)" FontSize="15" ></mywpf:MyTextBox>
<mywpf:MyTextBox TextInputType="DigitalWithMinusAndOemPeriod" Mask="正负数(小数5位)" Units="5" FontSize="15" ></mywpf:MyTextBox>
<mywpf:MyTextBox Mask="搜索模式" FontSize="15" MaskHorizontalAlignment="Center" CornerRadius="15" IsFocusSelectAll="True">
<mywpf:MyTextBox.RightContent>
<Image Source="pack://application:,,,/MyTextBox;component/Images/search.png" Width="16" Height="16" Cursor="Hand" Margin="0,0,5,0"></Image>
</mywpf:MyTextBox.RightContent>
</mywpf:MyTextBox>
<mywpf:MyTextBox Mask="选择文件" FontSize="15" IsFocusSelectAll="True">
<mywpf:MyTextBox.RightContent>
<mywpf:MyImageButton FontFamily="pack://application:,,,/MyTextBox;component/Resources/#myuifont" Foreground="#f4ea2a" FontSize="20" Content="" VerticalAlignment="Center"
mywpf:ControlAttachPropertyHepler.IsOpenFileButtonBehaviorEnabled="True" Command="mywpf:ControlAttachPropertyHepler.OpenFileCommand"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type TextBox}}}"></mywpf:MyImageButton>
</mywpf:MyTextBox.RightContent>
</mywpf:MyTextBox>
<mywpf:MyTextBox Mask="选择文件路径" FontSize="15" IsFocusSelectAll="True">
<mywpf:MyTextBox.RightContent>
<mywpf:MyImageButton FontFamily="pack://application:,,,/MyTextBox;component/Resources/#myuifont" Foreground="#f4ea2a" FontSize="20" Content="" VerticalAlignment="Center"
mywpf:ControlAttachPropertyHepler.IsOpenFolderButtonBehaviorEnabled="True" Command="mywpf:ControlAttachPropertyHepler.OpenFolderCommand"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type TextBox}}}"></mywpf:MyImageButton>
</mywpf:MyTextBox.RightContent>
</mywpf:MyTextBox>
<mywpf:MyTextBox Mask="右侧有清除文本按钮" FontSize="15" IsFocusSelectAll="True">
<mywpf:MyTextBox.RightContent>
<mywpf:MyImageButton FontFamily="pack://application:,,,/MyTextBox;component/Resources/#myuifont" FontSize="20" Content="" VerticalAlignment="Center"
mywpf:ControlAttachPropertyHepler.IsClearTextButtonBehaviorEnabled="True" Command="mywpf:ControlAttachPropertyHepler.ClearTextCommand"
CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type TextBox}}}"></mywpf:MyImageButton>
</mywpf:MyTextBox.RightContent>
</mywpf:MyTextBox>
</StackPanel>
</GroupBox>
<Rectangle Fill="#000000" Height="1" Width="{Binding RelativeSource={RelativeSource AncestorType=StackPanel},Path=ActualWidth}" Margin="0,10"></Rectangle>
<GroupBox Header="普通TextBox(只能输入数字(10位))" Margin="10" BorderBrush="Green" BorderThickness="2">
<TextBox mywpf:TextDigitalHelper.Count="10" mywpf:TextDigitalHelper.InputTextType="Digital"></TextBox>
</GroupBox>
</StackPanel>
</Grid>