【转】WPF从我炫系统5---基本控件的用法

今天我来给大家讲解WPF中一些基本控件的用法,所谓基本控件,就是我们最常用用到的一些控件,通过这一节的讲解,大家会对WPF中的控件的用法有一个更深入的了解。

1.       基本控件

LABEL控件

Label控件是我们最熟悉的控件,基本上在windows程序或者ASP.NET程序里面都有这个控件,在WPFLABEL属于内容控件,不仅可以显示文字,还可以显示更丰富的信息。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="Da¨??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属性, 可以控制单击事件何时发生。

ReleaseButton被按下然后松开时发生单击事件

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还提供了另外两种类型的按钮控件,ToggleButtonRepeateButton..

顾名思义. 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";

            }

        }

 

 

CheckBoxRadioButton

这两个控件和我们WINFORM中用的CheckBoxRadioButton控件一样。这两个控件都派生自ToggleButton类。因此他们也有三种状态,关于这两种控件的用法,我就不在多说,用户可以自己进行试验.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android自定义push通知_Android自定义Notification的一些坑

第一次在简书发文章&#xff0c;有问题多指教本篇介绍自定义通知样式时会遇到的一些坑,本篇旨在记录坑,而不在全面讲解自定义的方法坑文字颜色:强烈使用系统定义的文字颜色,否则需要固定背景色自定义View的尺寸: 建议自适应&#xff0c;因为不同系统高度会有差别不同系统版本的…

【微软官方文档】应用程序错误处理

https://docs.microsoft.com/zh-cn/windows/win32/debugging-and-error-handling

【转】在WPF中自定义控件

周银辉的开发博客(WPF) 在WPF中自定义控件(1) 一, 不一定需要自定义控件 在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样式就可以了.是否需要我们…

二叉树前序中序后序javascript_JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】...

本文实例讲述了JavaScript数据结构与算法之二叉树遍历算法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;javascript数据结构与算法--二叉树遍历(先序)先序遍历先访问根节点&#xff0c; 然后以同样方式访问左子树和右子树代码如下&#xff1a;/**二叉树中&#xff0…

Windows上快速在指定目录打开cmd.exe命令行的方法

前言 命令行在项目开发中使用频率很高&#xff0c;在指定目录中打开命令行也是很常见的需求&#xff0c;本文将介绍几种快速在指定目录打开cmd.exe命令行的方法&#xff0c;提高效率。 普通方式 运行->输入cmd.exe&#xff0c;点击确定&#xff0c;打开cmd.exe。 在cmd.…

【转】WPF默认控件模板的获取和资源词典的使用

一、获取默认的控件模板 WPF修改控件模板是修改外观最方便的方式&#xff0c;但是会出现不知道原来的控件的模板长什么样&#xff0c;或者如何在原有控件模板上修改的&#xff0c;下面就分享了获取某控件默认控件模板的方法&#xff08;以控件Button为例&#xff09;&#xff…

python设置默认密码_使用Python生成随机密码的示例分享

生成随机密码这件事情用python来干确实相当的方便&#xff0c;优美的string方法加上choice简直是绝配make_password.py###简单几行代码执行即可生成记不住的字符串###$ python make_passwd.pyDLrw9EiTQs4Wm84qRQwl4L2Lu9g0LgwWjHPtYdyU...$ python make_passwd.pyDLrw9EiTQs4Wm…

【微软官方文档】Windows终端(Windows Terminal)

https://docs.microsoft.com/zh-cn/windows/terminal/

【转】WPF Expander 收缩不占空间的用法

WPF 中 Expander 的&#xff0c;默认折叠状态&#xff0c;只是把内容隐藏&#xff0c;实际是还是占有空间的。按照下面的做法&#xff0c;可以是下面的控件&#xff0c;位置移动。 <StackPanel > <Expander Name"a" Header"xxxx">…

多级队列调度算法可视化界面_C++实现操作系统调度算法(FSFS,SJF,RR,多级反馈队列算法)...

#include#include#include#includeusing namespace std;unsigned int q_id0; //用于队列进程号的全局变量unsigned int l_id0; //用于链表进程号的全局变量unsigned int stime0; //系统时间&#xff0c;开始为0struct Pro //调度进程的数据结构{unsigned int PID; //进程标志号…

【iOS开发】崩溃问题汇总

EXC_BAD_ACCESS崩溃 位置&#xff1a;在UIApplicationMain函数内崩溃&#xff0c;相关函数&#xff1a;objc_release&#xff0c;场景&#xff1a;在界面多次切换时崩溃&#xff0c;可以稳定复现&#xff0c;环境&#xff1a;启用了ARC。 原因可能有很多种&#xff0c;我的是…

【转】WPF之路-常用布局控件一

WPF布局原则 不应显式设置大小 为了布局的稳定性&#xff0c;控件的大小应该可以自动适应容器。如下为新建一个窗体&#xff0c;默认包含一个Grid容器&#xff0c;该控件没有显式设置宽高&#xff0c;所以&#xff0c;在改变窗体大小的时候&#xff0c;该容器的大小也随着变化…

jparepository查询所有_jpa中查询大量数据

数据库查询一直是提高程序速度的瓶颈之一&#xff0c;本人也遇到了因为数据库数据查询过久导致影响失败&#xff0c;在这里记录以下解决的方法。描述该功能为统计功能&#xff0c;根据参数查找出符合的器具信息&#xff0c;然后再根据统计信息得出统计数据。就好比要统计某个年…

数据库开发文章汇总

数据库是否应该使用外键约束&#xff1f;

【转】github中origin和upstream的区别

Fork&#xff0c;本身并不是git工具中的一个命令&#xff0c;也不是对git的扩展&#xff0c;它是在GitHub上的概念&#xff0c;是另一种clone方式——在服务器端的clone。 而我们通常意义上的clone&#xff0c;是将远程repo 复制一份到本地。 当你从GitHub上 clone 一个 repo …

sum函数两个同行的元素相加_Excel函数公式大全:利用sum函数进行汇总以及对多个汇总进行求和...

教程领到手&#xff0c;学习不用愁&#xff01;领 ↑↑↑最高效最快速的入门学习方式&#xff1a;看知识兔视频课程&#xff0c;跟着知识兔老师操作&#xff0c;听知识兔老师讲解&#xff0c;初学者不要自己瞎琢磨瞎折腾&#xff0c;很容易走弯路。学以致用&#xff0c;光看不练…

【开源库学习】OpenThreads

项目地址 Github&#xff1a;https://github.com/tibogens/OpenThreads 码云&#xff1a;https://gitee.com/lukeson/OpenThreads 参考资料 网上已经有很多比较好的文章了&#xff0c;这里汇总一下&#xff0c;便于查阅。 OpenThreads库介绍——ConditionOpenThreads库介绍…

cors 前后端分离跨域问题_前后端分离之CORS跨域访问踩坑总结

前言前后端分离的开发模式越来越流行,目前绝大多数的公司与项目都采取这种方式来开发,它的好处是前端可以只专注于页面实现,而后端则主要负责接口开发,前后端分工明确,彼此职责分离,不再高度耦合,但是由于这种开发模式将前后端项目分开来独立部署,所以将必不可免的会碰到跨域问…

【转】WPF入门教程系列六——布局介绍与Canvas(一)

从这篇文章开始&#xff0c;我们将对WPF中的界面如何布局做一个较简单的介绍&#xff0c;大家都知道&#xff1a;UI是做好一个软件很重要的因素&#xff0c;如果没有一个漂亮的UI&#xff0c;功能做的再好也无法吸引用户使用&#xff0c;而且没有漂亮的界面&#xff0c;那么普通…

【OSG学习】学习方法

1. 环境准备 运行调试环境的准备参考我的另外一篇博客&#xff1a;【OSG学习】准备开发调试环境 运行调试环境准备比较麻烦&#xff0c;但是不复杂&#xff0c;需要耐心。但是可能很多人会被卡在这一步&#xff0c;后面我会专门提供直接可以使用的完整项目&#xff0c;方便大…