WPF加载中实现
时间:2022-07-22
本文章向大家介绍WPF加载中实现,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
加载页面
XAML
<Window
x:Class="SchoolClient.Wins.LoadDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="100"
Height="100"
AllowsTransparency="True"
Background="Transparent"
Opacity="1"
ResizeMode="NoResize"
Topmost="True"
WindowStartupLocation="CenterScreen"
WindowStyle="None">
<Grid>
<Border Background="#66000000" CornerRadius="10 10 10 10">
<Grid Width="60" Height="60">
<Grid.Resources>
<DrawingBrush
x:Key="brush"
AlignmentX="Center"
AlignmentY="Top"
Stretch="None">
<DrawingBrush.Drawing>
<GeometryDrawing Brush="White">
<GeometryDrawing.Geometry>
<EllipseGeometry RadiusX="2" RadiusY="5" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingBrush.Drawing>
</DrawingBrush>
</Grid.Resources>
<Rectangle
x:Name="r01"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="0" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r02"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="30" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r03"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="60" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r04"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="90" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r05"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="120" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r06"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="150" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r07"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="180" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r08"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="210" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r09"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="240" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r10"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="270" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r11"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="300" />
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle
x:Name="r12"
Fill="{StaticResource brush}"
Opacity="0.8"
RenderTransformOrigin="0.5,0.5">
<Rectangle.RenderTransform>
<RotateTransform Angle="330" />
</Rectangle.RenderTransform>
</Rectangle>
<Grid.Triggers>
<EventTrigger RoutedEvent="Grid.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.00000"
Storyboard.TargetName="r01"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.08333"
Storyboard.TargetName="r02"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.16666"
Storyboard.TargetName="r03"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.24999"
Storyboard.TargetName="r04"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.33332"
Storyboard.TargetName="r05"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.41665"
Storyboard.TargetName="r06"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.49998"
Storyboard.TargetName="r07"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.58331"
Storyboard.TargetName="r08"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.66664"
Storyboard.TargetName="r09"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.74997"
Storyboard.TargetName="r10"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.83330"
Storyboard.TargetName="r11"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
<DoubleAnimation
AutoReverse="True"
BeginTime="0:0:0.91663"
Storyboard.TargetName="r12"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0:0:0.08333" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Grid.Triggers>
</Grid>
</Border>
</Grid>
</Window>
C#
using System.Windows;
namespace SchoolClient.Wins
{
/// <summary>
/// LoadDialog.xaml 的交互逻辑
/// </summary>
public partial class LoadDialog : Window
{
public LoadDialog()
{
InitializeComponent();
}
}
}
使用方式
定义自己的APP类
internal class MyApp : Application
{
public static LoadDialog myloading;
[STAThread]
private static void Main()
{
// 定义Application对象作为整个应用程序入口
Application app = new Application();
LoginWindow win = new LoginWindow();
myloading = new LoadDialog();
app.Run(win);
}
}
显示
MyApp.myloading.Show();
隐藏
MyApp.myloading.Hide();
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringMVC系列之SpringMVC快速入门 MVC设计模式介绍+什么是SpringMVC+ SpringMVC的作用及其基本使用+组件解析+注解解析
- [Go] GoAdminGroup/go-admin的安装和运行
- 算法篇:滑动窗口(一)
- PHP代码审计02之filter_var()函数缺陷
- Flutter基础widgets教程-Tooltip篇
- 08 . Jenkins之SpringCloud微服务+Vue+Docker持续集成
- Spark 模型选择和调参
- Spark Parquet详解
- Spark 频繁模式挖掘
- Flutter基础widgets教程-WidgetsApp篇
- Js中Number对象
- Flutter基础widgets教程-Scaffold篇
- Redis:主从复制
- Flutter基础widgets教程-Baseline篇
- whereis命令