利用wpf做一个加载等待界面,当上位机发出命令后触发,接收到命令截止,写出代码
时间: 2023-04-08 18:04:52 浏览: 144
好的,我可以回答这个问题。以下是一个简单的WPF加载等待界面的代码示例:
```csharp
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
namespace WpfLoadingScreen
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
// 显示加载等待界面
ShowLoadingScreen();
// 模拟一个长时间的操作
await Task.Delay(5000);
// 隐藏加载等待界面
HideLoadingScreen();
}
private void ShowLoadingScreen()
{
// 创建一个动画
var rotationAnimation = new DoubleAnimation
{
From = 0,
To = 360,
Duration = new Duration(TimeSpan.FromSeconds(1)),
RepeatBehavior = RepeatBehavior.Forever
};
// 开始动画
loadingIcon.BeginAnimation(RotateTransform.AngleProperty, rotationAnimation);
// 显示加载等待界面
loadingScreen.Visibility = Visibility.Visible;
}
private void HideLoadingScreen()
{
// 停止动画
loadingIcon.BeginAnimation(RotateTransform.AngleProperty, null);
// 隐藏加载等待界面
loadingScreen.Visibility = Visibility.Collapsed;
}
}
}
```
在这个示例中,我们创建了一个名为`MainWindow`的WPF窗口,并在窗口中添加了一个按钮和一个加载等待界面。当用户单击按钮时,我们会显示加载等待界面,并模拟一个长时间的操作。当操作完成后,我们会隐藏加载等待界面。
加载等待界面是通过一个名为`loadingScreen`的Grid元素实现的。这个Grid元素包含一个名为`loadingIcon`的Path元素,用于显示旋转的加载图标。我们使用`DoubleAnimation`类创建了一个旋转动画,并将其应用于`loadingIcon`元素的`RotateTransform.AngleProperty`属性。当我们需要显示加载等待界面时,我们只需要开始动画并将`loadingScreen`元素的可见性设置为`Visibility.Visible`。当我们需要隐藏加载等待界面时,我们只需要停止动画并将`loadingScreen`元素的可见性设置为`Visibility.Collapsed`。
希望这个示例能够帮助你实现你的加载等待界面。
阅读全文