📜  wpf 按钮 - C# (1)

📅  最后修改于: 2023-12-03 14:48:34.861000             🧑  作者: Mango

WPF 按钮 - C#

WPF(Windows Presentation Foundation)是微软推出的一种用户界面框架,它提供了丰富的功能,其中包含了可定制的控件。按钮是 WPF 中最常用的控件之一,其提供了多种效果,如普通、切换、复选框、单选框等。在本篇文章中,我们将介绍 WPF 按钮的基础知识及如何在 C# 中使用它。

创建一个按钮

在 XAML 中,可以使用 <Button> 标签来创建一个按钮。以下是一个简单的按钮示例:

<Button Content="Click me!" Click="ButtonClick"/>

这里展示的是一个简单的按钮示例,其中 Content 属性用于按钮的文本内容,Click 属性指定了一个事件处理程序。

在 C# 中,可以使用 Button 类来创建一个按钮。以下是同样的按钮示例:

Button button = new Button();
button.Content = "Click me!";
button.Click += ButtonClick;

注意:在 C# 中,需手动指定事件处理程序

按钮属性

以下是 WPF 按钮的常用属性:

Background

设置按钮的背景颜色。例如:

<Button Background="Yellow" Content="I'm yellow!"/>
BorderBrush

设置按钮的边框颜色。例如:

<Button BorderBrush="Red" BorderThickness="2" Content="I'm red!"/>
Command

设置按钮的命令。例如:

<Button Command="{Binding SaveCommand}" Content="Save"/>

这里 SaveCommand 是在 ViewModel 中定义的一个命令,按钮将使用它来实现点击操作。

CommandParameter

设置命令的参数。例如:

<Button Command="{Binding DeleteCommand}" CommandParameter="{Binding Id}" Content="Delete"/>

这里 Id 是在 ViewModel 中的属性,将作为命令的参数使用。

Content

设置按钮的显示内容。例如:

<Button Content="Click me!"/>
IsEnabled

设置按钮是否可用。例如:

<Button IsEnabled="False" Content="I'm disabled!"/>
IsDefault

设置按钮是否为默认按钮。例如:

<Button IsDefault="True" Content="Enter"/>
IsCancel

设置按钮是否为取消按钮。例如:

<Button IsCancel="True" Content="Cancel"/>
ToolTip

设置按钮的提示内容。例如:

<Button ToolTip="Click to Save" Content="Save"/>
按钮事件

WPF 按钮有许多事件,以下是常用的事件:

Click

当按钮被单击时触发。例如:

<Button Click="ButtonClick" Content="Click me!"/>
private void ButtonClick(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Button clicked!");
}
MouseEnter

当鼠标移动到按钮上时触发。例如:

<Button MouseEnter="ButtonMouseEnter" Content="Move over me!"/>
private void ButtonMouseEnter(object sender, MouseEventArgs e)
{
    MessageBox.Show("Mouse entered!");
}
MouseLeave

当鼠标移开按钮时触发。例如:

<Button MouseLeave="ButtonMouseLeave" Content="Move over me!"/>
private void ButtonMouseLeave(object sender, MouseEventArgs e)
{
    MessageBox.Show("Mouse left!");
}
PreviewMouseDown

当鼠标左键按下时触发。例如:

<Button PreviewMouseDown="ButtonPreviewMouseDown" Content="Left click me!"/>
private void ButtonPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
    MessageBox.Show("Mouse left button down!");
}
PreviewMouseUp

当鼠标左键释放时触发。例如:

<Button PreviewMouseUp="ButtonPreviewMouseUp" Content="Left click me!"/>
private void ButtonPreviewMouseUp(object sender, MouseButtonEventArgs e)
{
    MessageBox.Show("Mouse left button up!");
}
PreviewMouseMove

当鼠标移动时触发。例如:

<Button PreviewMouseMove="ButtonPreviewMouseMove" Content="Move over me!"/>
private void ButtonPreviewMouseMove(object sender, MouseEventArgs e)
{
    MessageBox.Show("Mouse moving!");
}

以上是 WPF 按钮的基础知识及常用属性和事件,希望对你有用。