0


C# WPF入门学习主线篇(七)—— Label常见属性和事件

C# WPF入门学习主线篇(七)—— Label常见属性和事件

欢迎来到C# WPF入门学习系列的第七篇。在前面的文章中,我们已经探讨了WPF中的

Button

TextBox

控件的使用。今天,我们将深入了解WPF中的另一个常用控件——

Label

。本文将详细介绍

Label

的所有属性和事件,并通过示例代码展示如何在实际应用中使用这些功能。

一、Label的基础知识

Label

是WPF中的一个基本控件,用于显示文本。与

TextBlock

不同,

Label

控件还可以用于标签和访问键(即快捷键)的绑定。

Label的基本定义

我们先来看看一个简单的

Label

定义:

<Windowx:Class="WpfApp.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><LabelContent="Hello, World!"HorizontalAlignment="Center"VerticalAlignment="Center"/></Grid></Window>

在这个示例中,我们定义了一个

Label

控件,其内容为“Hello, World!”,并将其水平和垂直居中对齐。

二、Label的常见属性

1. Content

Content

属性用于设置或获取

Label

中显示的内容。可以是字符串、数字、控件或任何其他对象。

<LabelContent="Hello, World!"/>

2. FontSize

FontSize

属性用于设置

Label

中文本的大小。

<LabelContent="Hello, World!"FontSize="16"/>

3. FontFamily

FontFamily

属性用于设置

Label

中文本的字体。

<LabelContent="Hello, World!"FontFamily="Arial"/>

4. FontWeight

FontWeight

属性用于设置

Label

中文本的粗细。

<LabelContent="Hello, World!"FontWeight="Bold"/>

5. FontStyle

FontStyle

属性用于设置

Label

中文本的样式,例如斜体。

<LabelContent="Hello, World!"FontStyle="Italic"/>

6. Foreground

Foreground

属性用于设置

Label

中文本的颜色。

<LabelContent="Hello, World!"Foreground="Red"/>

7. Background

Background

属性用于设置

Label

的背景颜色。

<LabelContent="Hello, World!"Background="LightGray"/>

8. HorizontalAlignment 和 VerticalAlignment

HorizontalAlignment

VerticalAlignment

属性用于设置

Label

在其父容器中的水平和垂直对齐方式。

<LabelContent="Hello, World!"HorizontalAlignment="Center"VerticalAlignment="Center"/>

9. Padding

Padding

属性用于设置

Label

内容的内边距。

<LabelContent="Hello, World!"Padding="10"/>

10. Margin

Margin

属性用于设置

Label

与其周围元素之间的外边距。

<LabelContent="Hello, World!"Margin="10"/>

11. ToolTip

ToolTip

属性用于设置当用户将鼠标悬停在

Label

上时显示的提示信息。

<LabelContent="Hello, World!"ToolTip="This is a Label"/>

12. Visibility

Visibility

属性用于设置

Label

的可见性。

<LabelContent="Hello, World!"Visibility="Collapsed"/>

示例

下面是一个包含以上常见属性的完整示例:

<LabelContent="Hello, World!"FontSize="16"FontFamily="Arial"FontWeight="Bold"FontStyle="Italic"Foreground="Red"Background="LightGray"HorizontalAlignment="Center"VerticalAlignment="Center"Padding="10"Margin="10"ToolTip="This is a Label"Visibility="Visible"/>

三、Label的常见事件

虽然

Label

作为一个显示控件,其事件不如其他输入控件多,但它仍然支持一些基本的事件,例如鼠标事件和键盘事件。

1. MouseEnter 和 MouseLeave

MouseEnter

事件在鼠标指针进入

Label

区域时触发,

MouseLeave

事件在鼠标指针离开

Label

区域时触发。

XAML代码
<Labelx:Name="myLabel"Content="Hover over me"MouseEnter="MyLabel_MouseEnter"MouseLeave="MyLabel_MouseLeave"/>
后台代码
privatevoidMyLabel_MouseEnter(object sender,MouseEventArgs e){
    myLabel.Background =newSolidColorBrush(Colors.LightBlue);}privatevoidMyLabel_MouseLeave(object sender,MouseEventArgs e){
    myLabel.Background =newSolidColorBrush(Colors.Transparent);}

2. MouseDown 和 MouseUp

MouseDown

事件在鼠标按钮按下时触发,

MouseUp

事件在鼠标按钮释放时触发。

XAML代码
<Labelx:Name="myLabel"Content="Click me"MouseDown="MyLabel_MouseDown"MouseUp="MyLabel_MouseUp"/>
后台代码
privatevoidMyLabel_MouseDown(object sender,MouseButtonEventArgs e){
    myLabel.Content ="Mouse Down!";}privatevoidMyLabel_MouseUp(object sender,MouseButtonEventArgs e){
    myLabel.Content ="Mouse Up!";}

3. KeyDown 和 KeyUp

虽然不常见,但

Label

也可以处理键盘事件,前提是它获得了焦点。

XAML代码
<Labelx:Name="myLabel"Content="Focus me and press a key"KeyDown="MyLabel_KeyDown"KeyUp="MyLabel_KeyUp"Focusable="True"/>
后台代码
privatevoidMyLabel_KeyDown(object sender,KeyEventArgs e){
    myLabel.Content =$"Key {e.Key} Down!";}privatevoidMyLabel_KeyUp(object sender,KeyEventArgs e){
    myLabel.Content =$"Key {e.Key} Up!";}

四、Label的高级用法

1. 支持复杂内容

Label

可以包含复杂的内容,例如其他控件。可以使用

Content

属性设置复杂内容:

<LabelHorizontalAlignment="Center"VerticalAlignment="Center"><StackPanel><TextBlockText="Hello, World!"/><ButtonContent="Click Me"/></StackPanel></Label>

2. 使用访问键

Label

可以使用访问键(快捷键)为其他控件设置焦点。例如:

<StackPanel><LabelContent="_Username:"Target="{Binding ElementName=usernameTextBox}"/><TextBoxx:Name="usernameTextBox"Width="200"/></StackPanel>

在这个示例中,用户可以按

Alt+U

来将焦点设置到

usernameTextBox

五、总结

在本篇博客中,我们详细介绍了 WPF 中

Label

控件的常见属性和事件。通过这些示例代码,你可以了解如何设置

Label

的外观和行为,并且能够处理用户的基本交互。这些知识对于创建丰富和互动的用户界面至关重要。


希望这篇博客内容和总结能帮助你更好地理解和掌握 WPF 中

Label

的使用。如果有任何问题或需要进一步的指导,请在评论区留言。祝你学习愉快!


博客简介

在《C# WPF入门学习主线篇(七)—— Label常见属性和事件》一文中,我们详细探讨了 WPF 中

Label

控件的常见属性和事件,包括

Content

FontSize

Foreground

Background

等属性,以及

MouseEnter

MouseLeave

MouseDown

KeyDown

等事件。通过丰富的示例代码,本文帮助读者掌握如何自定义 `

标签: c# wpf 学习

本文转载自: https://blog.csdn.net/weixin_56595425/article/details/139523913
版权归原作者 Ice bear433 所有, 如有侵权,请联系我们删除。

“C# WPF入门学习主线篇(七)—— Label常见属性和事件”的评论:

还没有评论