这一节的讲解中,我将为大家介绍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---装饰控件的用法的更多相关文章

  1. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  2. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  3. WPF自定义控件(二)の重写原生控件样式模板

    话外篇: 要写一个圆形控件,用Clip,重写模板,去除样式引用圆形图片可以有这三种方式. 开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么 ...

  4. 《Programming WPF》翻译 第5章 7.控件模板

    原文:<Programming WPF>翻译 第5章 7.控件模板 如果仔细的看我们当前的TTT游戏,会发现Button对象并没有完全为我们工作.哪些TTT面板有内圆角? 图5-14 这里 ...

  5. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  6. WPF中嵌入WinForm中的webbrowser控件

    原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能 ...

  7. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...

  8. WPF 构建无外观(Lookless)控件

    原文:WPF 构建无外观(Lookless)控件 构建一个用户可以使用Template属性设置外观的WPF控件需要以下几步 1.继承自System.Windows.Controls.Control 2 ...

  9. WPF 实现跑马灯效果的Label控件,数据绑定方式实现

    原文:WPF 实现跑马灯效果的Label控件,数据绑定方式实现 项目中需要使用数据绑定的方式实现跑马灯效果的Label,故重构了Label控件:具体代码如下 using System; using S ...

随机推荐

  1. lorem ipsum text占位符

    Web开发者通常用lorem ipsum text来做占位符,占位符就是占着位置的一些文字,没有实际意义. 为什么叫lorem ipsum text呢? 是因为lorem ipsum是古罗马西塞罗谚语 ...

  2. .Net Core 中使用AutoMapper

    1.新建一个类 using AutoMapper; using YourModels; using YourViewModels; namespace YourNamespace { public c ...

  3. LeetCode OJ 75. Sort Colors

    Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...

  4. LeetCode OJ 122. Best Time to Buy and Sell Stock II

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  5. ios 将彩色照片转化成黑白等几种类型

    -(UIImage *)changeColoursImageTograyScaleImage:(UIImage *)anImage type:(int)type { CGImageRef imageR ...

  6. Find The Multiple(bfs)

    Find The Multiple Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) T ...

  7. Python 学习笔记4

    我是一个艺术家. 今天继续学习python啊.争取看到python流程控制.

  8. Python字符串连接方式

    python中有很多字符串连接方式,总结一下: 1 最原始的字符串连接方式:str1 + str22 python 新字符串连接语法:str1, str23 奇怪的字符串方式:str1 str24 % ...

  9. Apache Commons DbUtils 快速上手

    原文出处:http://lavasoft.blog.51cto.com/62575/222771 Hibernate太复杂,iBatis不好用,JDBC代码太垃圾,DBUtils在简单与优美之间取得了 ...

  10. android开发进阶学习博客资源

    Android开发者博客推荐 Android入门级 - 罗宪明 http://blog.csdn.net/wdaming1986 Android入门级 - 魏祝林 http://blog.csdn.n ...