WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法.
ScrollViewer滚动条控件
Border边框控件
ViewBox自由缩放控件
1. ScrollViewer滚动条控件
大家知道在WPF中的一些布局控件中是不带滚动条的,如果里面的内容控件超过了外面布局控件的大小,就不能完全被显示出来,这个时候我们就可以使用滚动条控件,让它滚动显示.
效果图:
默认情况下ScrollViewer是显示垂直滚动条的。但是可以通过属性来控制滚动条的显示。
HorizontalScrollBarVisibility设置水平滚动条
VerticalScrollBarVisibility 设置垂直滚动条
通过以下属性可以设置滚动条的显示与否
Visible滚动条一直显示
Hidden隐藏滚动条
Auto 自动显示,当超过外面大小时显示,当没有超过外部容器大小时不显示。
Disabled 禁止显示滚动条
XMAL代码
<Window x:Class="WpfContentControl.WinScroll"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WinScroll" Height="283" Width="426">
<ScrollViewer Name="scrollViewer1" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
<Grid Height="400" Width="400">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="100"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Rectangle Fill="Bisque"></Rectangle>
<Image Source="1.gif" Grid.Row="1"></Image>
<Rectangle Fill="Aqua" Grid.Row="2"></Rectangle>
</Grid>
</ScrollViewer>
</Window>
当然了,ScrollViewer控件还有很多属性,用户可以自己设置,也可以以编程方式去设置,这里我就不多说了。
2-Border边框控件
Border控件主要用于为其他控件设置一个漂亮的边框外观。
我们设计了一红色圆角的TextBox控件
效果图
Border控件的一些属性可以设置控件的外观样式
BorderThickness设置控件边框宽度
BorderBrush设置背景颜色
CornerRadius设置圆角角度
XMAL代码
<Grid>
<Border BorderBrush="Red" BorderThickness="2" HorizontalAlignment="Left" Margin="37,80,0,69" Name="border1" Height="23" CornerRadius="5" >
<TextBox Height="23" Name="textBox1" Width="120" />
</Border>
</Grid>
3. ViewBox自由缩放控件
ViewBox控件是一个可以自由缩放里面内容大小的控件,使控件随着外部窗体的大小比例进行变换。
效果图
ViewBox实现按比例缩放,可以使用Stretch属性设置缩放方式,有以下属性设置
None:保存原始大小,不进行缩放
Fill:内容大小填充目标尺寸
Uniform:在保留原始纵横比的基础上调整大小
UniformToFill:在保留原始纵横比的基础上调整大小,如果源矩形的纵横比不能满足目标矩形的纵横比,则对其剪切填充。
XMAL代码
<Window x:Class="WpfContentControl.WinViewBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WinViewBox" Height="300" Width="300">
<Grid>
<Viewbox Name="viewbox1" >
<StackPanel>
<Rectangle Width="50" Height="30" Fill="Black"></Rectangle>
<Image Source="1.gif" Height="45" Width="47"></Image>
</StackPanel>
</Viewbox>
</Grid>
</Window>
关于这几个控件的用法,就写到这里。WPF从我炫系列4---装饰控件的用法
WPF从我炫系列4---装饰控件的用法的更多相关文章
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- WPF自定义控件(二)の重写原生控件样式模板
话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式. 开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么 ...
- 《Programming WPF》翻译 第5章 7.控件模板
原文:<Programming WPF>翻译 第5章 7.控件模板 如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作.哪些TTT面板有内圆角? 图5-14 这里 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- WPF中嵌入WinForm中的webbrowser控件
原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能 ...
- WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。
原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...
- WPF 构建无外观(Lookless)控件
原文:WPF 构建无外观(Lookless)控件 构建一个用户可以使用Template属性设置外观的WPF控件需要以下几步 1.继承自System.Windows.Controls.Control 2 ...
- WPF 实现跑马灯效果的Label控件,数据绑定方式实现
原文:WPF 实现跑马灯效果的Label控件,数据绑定方式实现 项目中需要使用数据绑定的方式实现跑马灯效果的Label,故重构了Label控件:具体代码如下 using System; using S ...
随机推荐
- offsetWidth,offsetHeight到底该如何理解?
1.对象的可见宽度(对象指body.div等) 2.offsetWidth可以返回div的宽 3.offsetWidth=width+padding+border(不包括margin外边距) 4.返回 ...
- POJ 1860 Currency Exchange(SPFA+邻接矩阵)
( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cmath> #include<algori ...
- 浙大pat 1035题解
1035. Password (20) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue To prepare f ...
- gdb常用调试命令
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) ...
- Business Intelligence(BI) 商务智能
商业智能技术正是一种能够帮助企业迅速地完成信息采集.分析的先进技术.它以数据仓库(Data Warehousing).在线分析处理(OLAP).数据挖掘(Data Mining)3种技术的整合为基础, ...
- jquery-ui-multiselect 的使用
@model Gd.NetSign.Controllers.DTO.WsaleFundManageDTO @{ ViewBag.Title = "ShowDUYUN"; //Lay ...
- 2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。
// 图形类Shape package d922B; public class Shape { double getArea(ShapePara x){ return x.getArea(); } d ...
- AS3.0杂记——Dictionary、Object与Array
来源:http://blog.csdn.net/m_leonwang/article/details/8811829 Object.Array与Dictionary都是关联数组,就是用“键”来索引存储 ...
- js 鸭式辨型法
无意中看到arr.length === +arr.length;这句代码,然后就去了解了下 这是一种鸭式辨型的判断方法. 鸭式辨型:像鸭子一样走路.游泳和嘎嘎叫的鸟就是鸭子 这句话表示: a.arr有 ...
- 四、oracle 用户管理(Profile)
oracle 用户管理 :profile + tablespace + role + user 一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...