wpf控件

控件——载应用程序上与用户进行交互的元素

       所有的控件都是继承自System.windows.Control类,该类提供了一些基本的属性

1、 设置控件对齐方式

2、 设置Tab键顺序

3、 支持绘制背景,前景和边框

4、 支持格式化文本内容的尺寸和字体

 

Background:背景色,以按钮为例,边框以内的区域的颜色

Foreground:前景色 指控件上显示的内容文本的颜色

在wpf中支持代码一起XAML的方式进行设置

代码:BtnOK.Background = new SolidColorBrush(Colors.AliceBlue);

XAML:Background="AliceBlue"

 

Wpf中设置颜色都是通过画刷来实现定义颜色,它继承自System.windows.media类

              其下有三个子类

                    

SolidColorBrush:单一颜色画刷

LinearGradientBrush:线性渐变画刷

TileBrush:                  瓷贴式画刷

 

通过该画刷对象可自定义画刷的RGB值:示例

Brush windowBrush = new SolidColorBrush(Color.FromRgb(255,255,255));

以及常用的ImageBrush,将一副图片作为背景色

Brush windowBrush = new ImageBrush(ImageSource)

 

字体——两个属性 FontFamily 字体名称,fontSize:字体大小

鼠标光标——当鼠标移动特定功能的按钮时,可以显示特殊的光标

              示例:显示帮助的光标,   <Button Cursor=”help” content=“help” />

 

内容控件

所有的内容控件都是继承自ContentControl类

      

内容控件的常用属性

       Conntent属性:表示控件上要显示的内容,它可以接受任意对象,但主要分为两大类

              未继承自UIElement类的对象:内容控件调用这些对象的ToString()方式显示对象的文本

              UIElement子类:调用该对象的UIElement.OnRender()方法进行展示其对象内容

       对齐方式

              HorizontalContentAlignment:水平对齐方式

              VerticalContentAlignment:垂直对齐方式

              Padding :  内容边距;控件内容与控件边框的距离

 

       标签:label标签——接收单一的内容,label控件支持记忆符(mnemonics)

 

 按钮—— Wpf中提供了三种按钮button,CheckBox,RadioButton,它们都继承自ButtonBase类

 

      

特殊容器控件——ScrollViewer滚动控件

 

       VerticalScrollBarVisibilty:垂直滚动条

HorizontalScrollBarVisibilty:水平滚动条 默认是Hidden

 

滚动条属性可以设置为 Disable 不显示,Auto自动、hidden隐藏滚动条(与disable不同的是,隐藏的只是滚动条,而其内部空间是可以无限制的)

 

使用ScrollViewer——通过代码来控制

       LineUp和LineDown方法,相当于单击一次垂直滚动条两端的按钮

       PageUp和pageDown,滚动一整屏幕

       ScrollToXXXX方法 滚动到指定位置

      

ScrollViewer控件滚动原理,

1、在ScrollViewer中放置一个能滚动的元素,只要该元素实现了IScrollInfo接口,通过2、将ScrollViewer.CanContentScroll属性设置为true,设置ScrollViewer滚动方式

3、当和ScrollViewer元素交互时,通过IScrollInfo接口调用元素的滚动方法

 

StackPanel面板实现了IScrollInfo接口

 

内容控件

       HeaderContentControl也是继承自ContentControl的类,他具有单一的元素内容(content属性),和单一的元素标题(存储在header属性中)

 

GroupBox:常用于分组的单选按钮

TabItem:选项卡控件

Expander:具有标题的内容控件,特点是默认显示标题而隐藏其内容,当点击其标题时,而展开其内容;

                  IsExpander属性:设置是否初始化就是折叠内容状态

                  ExpandDirection属性:设置内容展开的向,UP,Left,Right等

                 

使用Expander的注意事项:

1、 为窗口设置最小尺寸(MinWidth和MinHeight),确保窗口能展示内容

2、 设置窗口的SizeTocontent属性,使窗口自动扩展为所需要的大小,通常设置为Manual,也可以使用width和height属性

3、 通过硬编码设置其大小时,若内容过多可能会裁剪掉部分内容

4、 最稳妥的方式使用ScrollViewer为其创建一个可以滚动的区域

 

 

     文本控件         

TextBox:文本输入框,通过设置其TextWarpping属性可以扩展为多行文本框,VerticalScrollBarVisibilty属性设置其不常用的滚动条是否可见,

输入换行AcceptsReturn="True" 设置Enter键换行

IsReadOnly:只读属性,设置文本框只能通过代码的方式赋值,可以避免禁用控件而带来的样式变化

 

PasswordBox:密码输入框,与普通文本的区别在于,虽然它也可以通过使用password属性

                     使用普通字符串为其赋值,但内部使用SecureString对象来保存值,此对象是               以加密的方式存储在内存中,当调用SecureString.Dispose方法时,会销毁内               存中的密码数据,当控件被销毁时亦会调用此方法

 

RichTextBox:RichTexBox是个可编辑控件,内部包容了一个Document对象,用于插入更多元素内容!

 

列表控件

ListBox: 包含一个ListBoxItem对象也可以包含其他任意对象,通过设置其SelectionMode的值Multiple和Extended,在Extended模式下用户可以通过Ctrl键或者Shift键进行多选

 

ComboBox:该控件包含ComboBoxItem对象的集合,与ListBox的区别在于其展示的方式,ComboBox使用下拉列表并仅展示其中一个子元素!

              IsEditable属性可以设置其子元素可以修改

 

基于范围内的控件

RangBse类:Wpf中提供了三个范围概念的控件,它们都是继承自RangBase类,该提供了以下属性Value :控件当前的值; Maximum:控件最大值(上限)Minimum;控件最小值(下限);SmallChange:Value值调整的数值(类似ScrollViewer中箭头点击一次调整的值);LargeChange:value调整数值(相当于ScrollViewer.PageUp一次调整的值):

       ScrollBar:非常用控件,此处不做介绍

       Slider:  滑块,通常设定某项有范围属性值,如播放视频的进度,音量大小的条件

       ProgressBar:进度条;指示一个常时间运行的任务,方便用户查看任务的进度指示器当

                其IsIndeterminate属性设置为true的时候,显示从左到右的绿色脉冲

 

日期控件

       Wpf4中提供了两种日期控件Calender和DatePicter,它们都可以实现用户选择任意一个日期

它们的区别在于 DatePicter提供了一个文本框用户接收用户选择的日期,并且在布局上比Calender需要更小的空间

左Calender,右DatePicter

 

             

 

             

                    

转载于:https://www.cnblogs.com/shenwenbo/p/9784114.html

基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值