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 ...
随机推荐
- centos搭建免费的ssl证书,大部分浏览器均支持!(let’s encrypt 的使用记录)
安装certbot wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto 然后就是通过这个脚本获取证书,安装前先将NGINX 停一下. ...
- ELINK离线编程器常见问题
Q1 编程器是否可以接JTAG JTAG接口已经包含SWD接口引脚,按以下引脚对应接线即可: SWDIO->目标板JTAG 的JTMS SWCLK->目标板JTAG 的JTCK Q2 PC ...
- Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
原文:Android零基础入门第14节:使用高速Genymotion,跨入火箭时代 无论是使用Eclipse,还是Android Studio,使用自带的Android模拟器,不仅很费电脑内存,模拟器 ...
- Docker笔记03-docker 网络模式
docker网络模式分为5种 Nat (Network Address Translation) Host other container none overlay 第一种 Nat模式 docker的 ...
- 如何在 Linux 中添加一块大于 2TB 的新磁盘?
你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错.我们无法使用 fdisk 对大于 2TB 的硬盘进行分区. 在这种情况 ...
- [转]深入Android内存泄露
深入内存泄露 Android应用的内存泄露,其实就是java虚拟机的堆内存泄漏. 当然,当应用有ndk,jni时,没有及时free,本地堆也会出现内存泄漏. 本文只是针对JVM内存泄漏应用,进行阐述分 ...
- 一顶博士帽能带来什么——访GOOGLE公司中国区总裁李开复
在读了博士生远潇给本报的来信后,GOOGLE公司中国区总裁李开复说,有这些困惑和担心,实际上是很多博士生们在读博士之前并没有认真地想过,自己是不是能耐得住寂寞做学问,是不是能抵御来自物质世界的诱惑 ...
- JavaScript API for Office Outlook Add-in - “一页纸文档“
上一篇文章 Office Add-in Model 为 Outlook Mail Add-in 提供的 JavaScript API 介绍 ,简单地在表格中列出了所有的 Object 定义,但是个人感 ...
- QSettings 用法总结(很好用)
原文 http://hi.baidu.com/fightiger/blog/item/ba69a434f36e18add1a2d350.html 用户对应用程序经常有这样的要求:要求它能记住它的se ...
- Windows 7 频繁提示:计算机的内存不足
最近由于同时打开的程序比较多,Windows 7 频繁提示:计算机的内存不足,如下图: 问题原因: 经过一番尝试,得出一个大概的结论:当虚拟内存空间的大小小于物理内存空间的大小时,一旦程序开的太多,物 ...