📅  最后修改于: 2023-12-03 14:48:34.861000             🧑  作者: Mango
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 按钮的常用属性:
设置按钮的背景颜色。例如:
<Button Background="Yellow" Content="I'm yellow!"/>
设置按钮的边框颜色。例如:
<Button BorderBrush="Red" BorderThickness="2" Content="I'm red!"/>
设置按钮的命令。例如:
<Button Command="{Binding SaveCommand}" Content="Save"/>
这里 SaveCommand
是在 ViewModel 中定义的一个命令,按钮将使用它来实现点击操作。
设置命令的参数。例如:
<Button Command="{Binding DeleteCommand}" CommandParameter="{Binding Id}" Content="Delete"/>
这里 Id
是在 ViewModel 中的属性,将作为命令的参数使用。
设置按钮的显示内容。例如:
<Button Content="Click me!"/>
设置按钮是否可用。例如:
<Button IsEnabled="False" Content="I'm disabled!"/>
设置按钮是否为默认按钮。例如:
<Button IsDefault="True" Content="Enter"/>
设置按钮是否为取消按钮。例如:
<Button IsCancel="True" Content="Cancel"/>
设置按钮的提示内容。例如:
<Button ToolTip="Click to Save" Content="Save"/>
WPF 按钮有许多事件,以下是常用的事件:
当按钮被单击时触发。例如:
<Button Click="ButtonClick" Content="Click me!"/>
private void ButtonClick(object sender, RoutedEventArgs e)
{
MessageBox.Show("Button clicked!");
}
当鼠标移动到按钮上时触发。例如:
<Button MouseEnter="ButtonMouseEnter" Content="Move over me!"/>
private void ButtonMouseEnter(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse entered!");
}
当鼠标移开按钮时触发。例如:
<Button MouseLeave="ButtonMouseLeave" Content="Move over me!"/>
private void ButtonMouseLeave(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse left!");
}
当鼠标左键按下时触发。例如:
<Button PreviewMouseDown="ButtonPreviewMouseDown" Content="Left click me!"/>
private void ButtonPreviewMouseDown(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("Mouse left button down!");
}
当鼠标左键释放时触发。例如:
<Button PreviewMouseUp="ButtonPreviewMouseUp" Content="Left click me!"/>
private void ButtonPreviewMouseUp(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("Mouse left button up!");
}
当鼠标移动时触发。例如:
<Button PreviewMouseMove="ButtonPreviewMouseMove" Content="Move over me!"/>
private void ButtonPreviewMouseMove(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse moving!");
}
以上是 WPF 按钮的基础知识及常用属性和事件,希望对你有用。