【转】WPF从我炫系统5---基本控件的用法
今天我来给大家讲解WPF中一些基本控件的用法,所谓基本控件,就是我们最常用用到的一些控件,通过这一节的讲解,大家会对WPF中的控件的用法有一个更深入的了解。
1. 基本控件
LABEL控件
Label控件是我们最熟悉的控件,基本上在windows程序或者ASP.NET程序里面都有这个控件,在WPF中LABEL属于内容控件,不仅可以显示文字,还可以显示更丰富的信息。LABEL控件与TextBox控件相关联, 可以为Textbox控件设置快捷键.
在下面的这个例子中,用户按下F键,文本框控件就会获得焦点。
效果图:
如果为textbox设置快捷键,只要在LABEL的内容中输入下划线加上快捷键字符就可以了,在显示的时候下划线是不会显示出来的。
代码
<Label Content="_F用®?户¡ì名?" Height="28" HorizontalAlignment="Left" Margin="36,62,0,0" Name="label1" VerticalAlignment="Top" Target="{Binding ElementName=textBox1}"/>
<TextBox Height="23" HorizontalAlignment="Left" Margin="93,62,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
Label控件不支持换行。但是可以在LABEL控件的内容面板中放在Textblock控件实现换行.,也可以使用AccessText来实现
代码
<Label Margin="36,84,268,0" Name="label2" VerticalAlignment="Top" Target="{Binding ElementName=textBox2}">
<ContentControl>
<AccessText TextWrapping="Wrap">
_P密¨¹码?:可¨¦以°?实º¦Ì现?
换?行D</AccessText>
</ContentControl>
</Label>
<TextBox Height="23" HorizontalAlignment="Right" Margin="0,140,115,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
TextBlock控件
TextBlock控件和lable控件一样,用来显示内容,但是TextBlock控件支持换行.,不支持快捷键访问操作。
TextBlock中的内容可以显示带格式的文本。使用TextDecorations属性可以设置文本的样式。
效果图
代码
<Grid>
<TextBlock Height="23" Text="中D华a人¨?民?共2和¨ª国¨²" Name="textBlock1" TextDecorations="BaseLine">
</TextBlock>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="37,188,0,0" Name="textBlock2" VerticalAlignment="Top" Width="152" >
<Run Text="删¦?除y线?" TextDecorations="Strikethrough"></Run>
<Run Text="上¦?划?线?" TextDecorations="OverLine"></Run>
<Run Text="基¨´线?" TextDecorations="Baseline"></Run>
<Run Text="下?划?线?" TextDecorations="Underline"></Run>
</TextBlock>
</Grid>
使用Run标记可以定义多个文本,并指定不同的格式.
TextBox控件
TextBox控件和winform中的TextBox控件一样,可以用来显示输入文本内容.有以下属性是TextBox常用的
TextWrapping:设置TextBox是否换行
VerticalScrollBarVisibility :设置TextBox是否显示滚动条,以及滚动条怎样显示.
Language:属性来改变文本框的语言。
SpellCheck.IsEnabled:是否开启拼写检查.配合Language属性使用
PasswordBox控件
PasswordBox控件是密码框控件,可以为其设置掩码来隐藏用户所输入的内容。这个控件在WINFORM中我们比较常用,用法差不多,这里就讲解了.
Button控件
Button控件是我们用到最多的控件,在WPF中有三种类型的按钮控件,普通的按钮,CHEKCBOX,radiobutton,这些控件都继承在buttonbase类.
Button控件属于内容控件.对于button控件,我们可能最熟悉的就是单击事件,button控件有一个ClickMode属性, 可以控制单击事件何时发生。
Release:Button被按下然后松开时发生单击事件
Hover:鼠标悬停在按钮上方引发单击事件
Press:当单击按钮时引发单击事件
下面这个demo通过不同的单击方式设置来改变窗体的背景色
效果图
代码
<Button Content="Press" Height="23" HorizontalAlignment="Left" Margin="71,16,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" ClickMode="Press"/>
<Button Content="Hover" Height="23" Name="Hover" VerticalAlignment="Top" Width="75" ClickMode="Hover" Margin="71,72,132,0" Click="Hover_Click" />
<Button Content="Release" Height="23" Name="Release" VerticalAlignment="Top" Width="75" Margin="72,127,132,0" ClickMode="Release" Click="Release_Click" />
除此之外,BUTTON控件还有两个重要的属性
IsCancel:表示按钮是一个取消按钮,用户可以在任意位置按下esc健触发该按钮
IsDefault:表示按钮是当前默认按钮,用户可以按下 enter键触发该按钮.
除了Button按钮之外,WPF还提供了另外两种类型的按钮控件,ToggleButton和RepeateButton..
顾名思义. ToggleButton是改变状态按钮,当单击时该按钮处于一种状态,再次单击时按钮处于另一种状态.
ToggleButton提供了一个ischeck属性,当为true时表示选中,当为false事表示为选中。还有一个null值,表示没进行选择,处于不确定状态.
RepeateButton表示当按下按钮后不放,将进行持续性的操作,普通按钮按按下后只触发一次事件.
下面我们来结合这两个按钮来做一个DEMO,当ToggleButton处于选中 状态时,点击RepeateButton,进行数字递增操作,当ToggleButton处于未选择状态时,进行数字递减操作.
效果图
D代码
Xmal代码
<Grid>
<ToggleButton Name="toggle" Margin="38,46,216,223" IsThreeState="False" Content="togglebututo点Ì?击¡Â我¨°" Checked="ToggleButton_Checked" Click="toggle_Click"></ToggleButton>
<Label Content="0" Height="28" HorizontalAlignment="Left" Margin="38,121,0,0" Name="label1" VerticalAlignment="Top" />
<RepeatButton Name="repeate" Content="repeatbutton点Ì?击¡Â我¨°" Margin="157,120,101,119" Click="RepeatButton_Click"></RepeatButton>
</Grid>
Xmal.Cs代码
int num = 0;
private void RepeatButton_Click(object sender, RoutedEventArgs e)
{
if (toggle.IsChecked == true)
{
num += 1;
}
else
{
num -= 1;
}
label1.Content = num.ToString();
}
private void toggle_Click(object sender, RoutedEventArgs e)
{
if (toggle.IsChecked == true)
{
toggle.Content = "toggle被À?选?中D";
}
else
{
toggle.Content = "toggle未¡ä被À?选?中D";
}
}
CheckBox和RadioButton
这两个控件和我们WINFORM中用的CheckBox和RadioButton控件一样。这两个控件都派生自ToggleButton类。因此他们也有三种状态,关于这两种控件的用法,我就不在多说,用户可以自己进行试验.
【转】WPF从我炫系统5---基本控件的用法相关推荐
- 【转】WPF从我炫系列4---装饰控件的用法
在这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollVie ...
- 【转】WPF从我炫系列3---内容控件的用法
今天我来给大家讲解WPF中内容控件的用法,在WPF中的内容控件,通俗的讲,是指具有Content属性的控件,在content属性里面可以嵌套放置任意其他类型的控件,但是Content只能接受单个元素, ...
- 【转】wpf从我炫系列1----布局控件的使用(上)
今天我来给大家讲解在学习WPF过程中使用布局控件的一些心得,主要给大家介绍一下一个控件的用法.希望对大家学习Wpf有所帮助. 1. StackPanel栈面板 2. WrapP ...
- 【转】wpf从我炫系列2----布局控件的使用(下)
4. GRID控件 Grid控件可以是说是wpf中功能最强大和使用最多的控件.它有点类似于HMTL网页布局中的表格,可以自定义行列显示,并可以合并某些行和列. 使用<Grid.Ro ...
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探
原文:WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探 最近因为项目需要,开始学习如何使用WPF开发桌面程序.使用WPF一段时间之后,感觉WPF的开发思 ...
- WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。
WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 原文: WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https ...
- WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性
原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...
- UITableView (4): 在TableView中移动cell和Section 从TableView中删除cell和section 添加系统默认刷新控件...
一 .问题:你想用流畅直观的动画来移动和拖拽TableView中的cell和section 方案: 用moveSection:toSection:方法把一个Section移动到新位置. 用moveR ...
- 64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中。
64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中 我的解决方案: 1.找到位于windows下的syswow64文件夹下的cmd 2.并拷贝需注册的ocx文件到sys ...
最新文章
- 引导加载程序之争: LILO 和 GRUB
- linux php任务计划,linux系统怎么添加计划任务执行php文件
- div水平垂直居中的几种方法(面试问题)
- 浏览器插件及好用的小工具
- python调用nmap_Python调用nmap扫描网段主机信息生成xml
- flash spi 野火_野火stm32-SPI
- M2M、物联网应用开发的好助手——Wavecom Sierra 无线MODEM( GSM/GPRS/EDGE MODEM)
- canvas绘制竖排的数字_微信小程序利用Canvas绘制图片和竖排文字详解
- 我们是龙的传人还是狼的传人? 《狼图腾》--- 绝对值得一读的书
- 副业搞钱的几个野路子:两个年入10万的零成本赚钱项目
- Outlook 2013 英文版 设置收信规则
- Error at hooking API “LoadStringA“ Dump first 32 bytes:
- mysql 军规_MySQL数据库军规
- 由一道bash jail题引出的琐事@_@
- MM配额协议(Quota Arrangement)-阿龙学习MM PA 笔记(3)
- PayPal轮询收单系统升级之PayPalme亲友支付
- 非常实用的织梦dede所有标签调用方法大全 .
- 发那科机器人GI分配_发那科机器人应用-数值寄存器 R[]
- 挖掘MOS管驱动电路的设计秘籍
- 2021-3-20 狂神说java之 redis学习
热门文章
- 微信小程序navigateBack如何带参数
- 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties
- unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度
- 【DOS】dos命令大全
- [原创]传递UIScrollView的滑动事件到其子视图中
- jQuery图表插件 JS Charts
- vs2005新建类,自定义模板信息(转载)
- Js——elementFromPoint方法
- [剑指offer][JAVA]面试题第[46]题[把数字翻译成字符串][递归][逆推]
- 从html到pug模板,将变量从html-webpack-plugin传递到pug模板