WPF 入门笔记之控件内容控件
一、控件类
在WPF中和用户交互的元素,或者说。能够接受焦点,并且接收键盘鼠标输入的元素所有的控件都继承于Control类。
1. 常用属性:
1.1 Foreground:前景画刷/前景色(文本颜色)
1.2 Background:背景画刷/背景色
//使用RBG设置颜色
Btn_1.Foreground = new SolidColorBrush(Color.FromRgb(, , ));
//使用颜色枚举设置颜色
Btn_1.Foreground = new SolidColorBrush(Colors.DarkGoldenrod);
//使用系统颜色枚举
Btn_1.Background = SystemColors.ActiveCaptionBrush;
1.3 FontFamily:设置字体
当FontFamily设置多个值表示,如果第一个字体不存在则使用第二个字体以此类推
<Button Name="Btn_1" FontFamily="Arial,Calibri,Cambria" >
<Button.Content>
this is button
</Button.Content>
</Button>
系统上安装的字体:Fonts.SystemFontFamilies
foreach (var item in Fonts.SystemFontFamilies)
{
lstBox_Message.Items.Add(item.Source);
}
设置任何元素的字体属性,属性的值会向下继承。如果给Window顶层元素设置字体,那么这个window下的所有元素都会继承这个字体
1.4 FontSize:字体大小
1.5 FontStyle:字体样式(斜体)
1.6 FontWeight:字体粗细
1.7 FontStretch:字体可以拉伸的角度
<StackPanel Orientation="Horizontal">
<Button Name="Btn_1" BorderBrush="Black" BorderThickness="2" Content="Border"></Button>
<Button Name="Btn_2" Content="FontStyle" FontStyle="Oblique" FontWeight="Black"></Button>
<Button Name="Btn_3" Content="FontWeight" FontStyle="Oblique"></Button>
<Button Name="Btn_4" Content="FontSize" FontSize="15"></Button>
<Button Name="Btn_5" Content="Fimaly" FontFamily="Arial"></Button>
</StackPanel>
1.8 BorderThickness:边框的大小
1.9 BorderBrush:边框画刷(边框颜色)
<Button Name="Btn_1" BorderBrush="Black" BorderThickness="2">
this is button
</Button>
1.10 Padding:内边距
1.11 HorizontalContentAlignment:内容水平方向的位置
1.12 VerticalContentAlignment:内容垂直方向的位置
1.13 Template:模板
1.14 IsTabStop:否将某个控件包含在 Tab 导航中
1.15 TabIndex:决定在用户使用 Tab 键在控件中导航时元素接收焦点的顺序
二、内容控件
内容控件,它可以包含显示一块内容。只能包含当个(只能包含的一个子元素)。和布局容器不同,布局容器可以不限制的包含子元素。内容控件都继承于ContentControl类
1. Content属性
Conent 只接收单一的对象(任何类型)
<StackPanel>
<!--直接设置Content属性-->
<Button Content="button" Margin="5"></Button>
<!--嵌套一个子元素-->
<Button Margin="5">
<TextBlock>this is TextBlock</TextBlock>
</Button>
<!--包含一个布局元素来实现嵌套多个子元素-->
<Button Margin="5">
<StackPanel>
<Label BorderBrush="Black" BorderThickness="1">this is Label</Label>
<Label BorderBrush="Aquamarine" BorderThickness="1" >this is Label</Label>
<Label BorderBrush="Beige" BorderThickness="1">this is Label</Label>
</StackPanel>
</Button>
</StackPanel>
2. 设置对齐方式和ToolTip
HorizontalContentAlignment:水平对齐
VerticalContentAlignment:垂直对齐
ToolTip:鼠标移动到该元素时,显示提示内容
<Button Content="button" ToolTip="ToolTip case" Margin="5" HorizontalContentAlignment="Left" ></Button>
<Button Content="button" Margin="5" HorizontalContentAlignment="Right" ></Button>
3. 带标题的内容控件
3.1 GroupBox
<GroupBox Header="GroupBox">
<StackPanel>
<RadioButton Margin="2">RadioButton1</RadioButton>
<RadioButton Margin="2">RadioButton2</RadioButton>
<RadioButton Margin="2">RadioButton3</RadioButton>
</StackPanel>
</GroupBox>
3.2 TabItem
<TabControl>
<TabItem Header="TabItem"></TabItem>
<TabItem Header="GroupBox"></TabItem>
<TabItem Header="Expander"></TabItem>
</TabControl>
3.3 Expander
<StackPanel>
<Expander Header="Expander">
<StackPanel>
<RadioButton Margin="2">RadioButton1</RadioButton>
<RadioButton Margin="2">RadioButton2</RadioButton>
<RadioButton Margin="2">RadioButton3</RadioButton>
</StackPanel>
</Expander>
</StackPanel>
WPF 入门笔记之控件内容控件的更多相关文章
- WPF入门(四)->线形区域Path内容填充之填充图(ImageBrush)
原文:WPF入门(四)->线形区域Path内容填充之填充图(ImageBrush) 前面我们提到了LinearGradientBrush可以用来画渐变填充图,那么我们同时也可以使用ImageBr ...
- WPF入门(四)->线形区域Path内容填充之渐变色(LinearGradientBrush)
原文:WPF入门(四)->线形区域Path内容填充之渐变色(LinearGradientBrush) 前面我们介绍到,Path对象表示一个用直线或者曲线连接的图形,我们可以使用Path.Data ...
- WPF知识点全攻略05- XAML内容控件
此处简单列举出布局控件外,其他常用的控件: Window:WPF窗口 UserControl:用户控件 Page:页 Frame:用来浏览Page页 Border:嵌套控件,提供边框和背景. Butt ...
- WPF学习笔记(1)——image控件图片不显示的问题
说明(2017-6-7 16:08:35): 1. 本来想用winform的,用winform就没这么多破事了. 2. 不过项目要用WPF,拉出一个mediaelement控件,视频正常显示. 3. ...
- WPF 入门笔记之事件
一.事件路由 1. 直接路由事件 起源于一个元素,并且不能传递给其他元素 MouserEnter 和MouserLeave 就是直接事件路由 2. 冒泡路由事件 在包含层次中向上传递,首先由引发的元素 ...
- WPF 入门笔记之布局
一.布局原则: 1. 不应显示的设定元素的尺寸,反而元素可以改变它的尺寸,并适应它们的内容 2. 不应使用平布的坐标,指定元素的位置. 3. 布局容器和它的子元素是共享可以使用的空间 4. 可以嵌套的 ...
- WPF 入门笔记之基础
一.创建WPF程序 1. App.xaml 相当于窗体的配置文件 2. xmlns:xml名称空间的缩写 xmlns="http://schemas.microsoft.com/winfx/ ...
- 【WPF学习】第二十章 内容控件
内容控件(content control)是更特殊的控件类型,它们可包含并显示一块内容.从技术角度看,内容控件时可以包含单个嵌套元素的控件.与布局容器不同的是,内容控件只能包含一个子元素,而布局容器主 ...
- WPF进阶技巧和实战03-控件(1-控件及内容控件)
所有控件都继承自System.Windows.Controls.Control类,这个类添加一些基本结构: 设置控件内容对齐方式 (HorizontalContentAlignment,Vertica ...
随机推荐
- Qt4可以使用trUtf8函数,其内容可以是中文,也可以是\F硬编码
显示在textBrowser->setText 中文乱码 转成QObject::trUtf8即可. ui->textBrowser->setText((QObject::trUtf8 ...
- 微信小程序把玩(七)数据绑定
原文:微信小程序把玩(七)数据绑定 数据绑定有一部分前几个看着还行,后面的几个可能有几个不理解,界面展示的数据有的也因为条件没法显示.看不懂的可以先记着,后面真正用到时就会明白,反正我是这样想的.这里 ...
- /etc/passwd和/etc/group文件详解
用户管理 想要知道, 系统中有哪些用户, 可以查看这个文件: /etc/passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nolo ...
- docker启动命令,docker重启命令,docker关闭命令
启动 systemctl start docker 守护进程重启 sudo systemctl daemon-reload 重启docker服务 systemctl restar ...
- 奇虎360选择IPO “壳概念”很受伤
黄一帆 “市场正呈现出为一幕经典影像:在绚丽的霞光笼罩下,蔚蓝色的大海边,在金色的海岸上,欢笑的孩子们踮起脚尖,刚好看见原来海平面露出的航船桅杆——那是缓缓驶来的注册制号:而转过头来,则是沙滩上大 ...
- QString之simplified()用于读取数据、规范数据,非常方便
在工程项目开发中,遇到这么个问题:手工计入文件中的数据,每行有三个,前两个是数字,最后一个是标识,现在把这3个数据提取出来. 一提取就出现问题了:由于手工导入,数据间使用空白间隔,有可能是一个空格,有 ...
- uva11038_How Many O's?_数位DP
问m-n之间的数中共有多少个0,过程稍稍麻烦了一些,半天的时间才搞定. 直接上码吧 /********************************************************* ...
- Spring与IoC
控制反转(IOC,Inversion of Control),是一个概念,是一种思想. 指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理.控制反转就是对对象控制权的转移 ...
- Python 爬虫从入门到进阶之路(七)
在之前的文章中我们一直用到的库是 urllib.request,该库已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Hum ...
- http协议内容展示以及如何用telnet发送请求
1.http协议组成: 报文首部:状态行(请求行) 请求首部字段 通用字段 其他信息 空行 报文主体 GET请求头: GET /test.php?a=1 HTTP/1.1 Host: localhos ...