内容控件是一种比较特殊的控件类型,可以包含显示一个内容。内容控件可以仅且包含一个嵌套的元素。
常见的Label控件和Button控件等都是内容控件。
1、Content属性
Content属性只接受单一的对象,支持任何类型。我们以按钮控件为例:
<Window x:Class="_12.Content_Control.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel Name="stackPanel1">
<Button Content="Button" Height="23" Name="button1" Margin="5"/>
<Button Height="100" Name="button2" Margin="5">
<Image Source="file:///E:/1%20program/2Graduate%20Courses/lab/WPF/12.Content%20Control/CUG.png"></Image>
</Button>
<Button Height="Auto" Name="button3" Margin="5">
<StackPanel>
<TextBlock>图片和文本</TextBlock>
<Image Source="file:///E:/1%20program/2Graduate%20Courses/lab/WPF/12.Content%20Control/CUG.png" Stretch="None"></Image>
<TextBlock>容器存放进按钮</TextBlock>
</StackPanel>
</Button>
</StackPanel>
</Grid>
</Window>
我们可以看见,一个按钮中不仅可以存放一个固定元素比如文字、图片,还可以存放容器,然后在容器中存放文字和图片:
2、对齐内容
内容的对齐有两种,分别为水平对齐和垂直对齐,我们可以通过设置HorizontalContentAlignment和VerticalContentAlignment属性来设置内容的对齐方式,效果如下:
3、标签
标签是一种非常简单的内容控件。Label还支持记忆符,能够作为链接的控件设置焦点的快捷键。
<Label Height="28" Name="label1" Margin="5" Target="{Binding ElementName=textBox1}">快捷键 _A</Label>
<TextBox Height="23" Name="textBox1" Margin="5"/>
这样我们在按ALT+A键即可将焦点放置到 Binding ElementName指定的组件中,也就是本程序的文本输入框内:
4、按钮
WPF提供了三种按钮控件,包括Button、CheckBox和RadioButton控件。
因为Button按钮用的比较多,我们就不过多介绍了,主要介绍后面两种控件。
1)CheckBox控件
CheckBox控件就是复选框控件,主要通过IsChecked来设置控件的初始状态,决定是否选中。
多个复选框控件之间不互相影响,可以同时选中也可以同时不选中。
2)RadioButton控件
RadioButton控件是单选框控件,当多个单选框附件在同一个容器内,只会有一个控件被选中,不能同时选中。
不在同一个容器内的单选框控件要想实现只能选择一个控件的功能,需要通过属性特性GruopName统一设置为一个变量。
5、工具提示
工具提示就是当鼠标放置在控件上停留一会儿会出现的提示,主要通过ToolTip属性特性设置,我们给第二行的按钮加一个提示,效果如下图:
我们还可以在提示中放入一个容器,这样就可以多放一些内容,比如包括图片和文字:
还可以设置提示框的背景色、显示的位置等。