本节主要介绍内容控件的Content属性。
项目源码
可以直接在控件中设置Content属性
<Button x:Name="button" Content="Button" Height="49"/>
也可以用图片。
<Button>
<Image Source="/edbcb5485f9ac954.jpg" Width="100" Height="30">
</Image>
</Button>
设置Content的内容在控件中的显示位置,采用设置HorizontalContentAlignment="Left"属性的方法
注意要与HorizontalAlignment="Left"区分,后者是设置控件在容器中的显示位置。
XAML快捷键
<Label Height="28" Margin="5" Target="{Binding ElementName=textBox1}">
Choose _A
</Label>
<TextBox Name="textBox1" Height="28">
</TextBox>
按下alt键后,A出现下划线,按下定义的快捷键A,就可以将键入光标转移至TextBox输入。
一般来说,快捷键是隐藏的,只有当用户按下alt键之后才会显示,当用户再按下快捷键时就会转移至与之绑定的元素中。
按钮控件的 IsCancel属性
在xaml文件中为按钮添加属性IsCancel=“True”,则加载窗台时,如果按下该按钮,窗体会关闭,或者按下ESC键也会关闭。
按钮控件的ISDefault属性
在xaml文件中为按钮添加属性IsDefault=“True”,则加载窗台时,按钮有蓝色阴影,按下Enter键的效果与鼠标单击该按钮效果一致。
CheckBox多选框与RadioBox单选按钮
在同一个StackPannel下可以选择多个CheckBox,但是只可以选择一个RadioBox。前提是这些按钮在同一个容器下。
二者均包含一个IsThreeState的属性,IsThreeState=“True"时可以多一个选择未知的状态。包含一个IsChecked属性,用于初始化选择命令。例如IsChecked=”{x:Null}"表示选择未知。
如果不在同一个容器下,RadioButton也是可以多选的:
如果不在同一个容器下,也想要达到单选的效果,就需要分别在两个RadioButton标签内加入同一分组的属性GroupName=“radio”:
这样又只能选择其一了,两个Radio元素相互排斥。
工具提示ToolTip
所有能在wpf窗体上显示的空间均包含ToolTip属性,当鼠标悬停在该控件上时,出现提示信息。
<Button x:Name="button" Content="Button" Height="49" Margin="5" HorizontalContentAlignment="Left" ToolTip="点击按钮操作"/>
内置属性用于简单的提示。
如果我们想要更为复杂的提示信息,需要把ToolTip写成元素属性。
例如下面这种写法
<Button x:Name="button" Height="49" Margin="5" HorizontalContentAlignment="Left">
<Button.Content>
显示ToolTip的按钮
</Button.Content>
<Button.ToolTip>
<StackPanel>
<TextBlock>
Image and text.
</TextBlock>
<Image Source="图片路径">
</Image>
</StackPanel>
</Button.ToolTip>
</Button>
这样鼠标悬停在该按钮上时,ToolTip既能显示文本提示又能显示图片提示。
可以定义弹出的ToolTip提示框的背景色Background、前景色Foreground、弹出的提示框的位置Placement,在ToolTip中分别设置以下属性的值:
其中Plcement表示的是提示框的位置以鼠标所在位置为参考,HorizontalOffset为水平方向偏移量,VerticalOffset为垂直方向偏移量。
<Button x:Name="button" Height="49" Margin="5" HorizontalContentAlignment="Left">
<Button.Content>
显示ToolTip的按钮
</Button.Content>
<Button.ToolTip>
<ToolTip Background="Pink" Foreground="DarkBlue" Placement="Mouse" HorizontalOffset="15" VerticalOffset="15">
<StackPanel>
<TextBlock>
Image and text.
</TextBlock>
</StackPanel>
</ToolTip>
</Button.ToolTip>
</Button>
偏移位置的参照点也可以选择绝对位置,在屏幕的某个位置显示:
修改Placement="Absolute"即可。
项目源码