zoukankan      html  css  js  c++  java
  • WPF遮蔽层的实现

     在一些项目中,难免会有耗时的加载,如果加载时没有提示,给人一种假死的感觉,很不友好,那么现在福利来啦,WPF版的模态窗体,先上效果图

    实际效果指针是转动的,话不多说,一大批干货来袭

    XMAL的代码

      1 Window x:Class="ZhiHeng.IntelligentExpress.WpfUI.Views.CoverForm"
      2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      4         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      5         Title="CoverForm"   x:Name="Window"  
      6         Style="{StaticResource WindowsStyle}" Opacity="0.5">
      7     <Window.Resources>
      8         <Storyboard x:Key="Storyboard1">
      9             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)">
     10                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     11                 <SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="0" />
     12                 <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1" />
     13                 <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0" />
     14                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     15             </DoubleAnimationUsingKeyFrames>
     16             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse1">
     17                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     18                 <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0" />
     19                 <SplineDoubleKeyFrame KeyTime="00:00:00.6000000" Value="1" />
     20                 <SplineDoubleKeyFrame KeyTime="00:00:01.1000000" Value="0" />
     21                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     22             </DoubleAnimationUsingKeyFrames>
     23             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse2">
     24                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     25                 <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0" />
     26                 <SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="1" />
     27                 <SplineDoubleKeyFrame KeyTime="00:00:01.2000000" Value="0" />
     28                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     29             </DoubleAnimationUsingKeyFrames>
     30             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse3">
     31                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     32                 <SplineDoubleKeyFrame KeyTime="00:00:00.4000000" Value="0" />
     33                 <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="1" />
     34                 <SplineDoubleKeyFrame KeyTime="00:00:01.3000000" Value="0" />
     35                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     36             </DoubleAnimationUsingKeyFrames>
     37             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse4">
     38                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     39                 <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0" />
     40                 <SplineDoubleKeyFrame KeyTime="00:00:00.9000000" Value="1" />
     41                 <SplineDoubleKeyFrame KeyTime="00:00:01.4000000" Value="0" />
     42                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     43             </DoubleAnimationUsingKeyFrames>
     44             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse5">
     45                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     46                 <SplineDoubleKeyFrame KeyTime="00:00:00.6000000" Value="0" />
     47                 <SplineDoubleKeyFrame KeyTime="00:00:01" Value="1" />
     48                 <SplineDoubleKeyFrame KeyTime="00:00:01.5000000" Value="0" />
     49                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     50             </DoubleAnimationUsingKeyFrames>
     51             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse6">
     52                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     53                 <SplineDoubleKeyFrame KeyTime="00:00:00.7000000" Value="0" />
     54                 <SplineDoubleKeyFrame KeyTime="00:00:01.1000000" Value="1" />
     55                 <SplineDoubleKeyFrame KeyTime="00:00:01.6000000" Value="0" />
     56                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     57             </DoubleAnimationUsingKeyFrames>
     58             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse7">
     59                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     60                 <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="0" />
     61                 <SplineDoubleKeyFrame KeyTime="00:00:01.2000000" Value="1" />
     62                 <SplineDoubleKeyFrame KeyTime="00:00:01.7000000" Value="0" />
     63                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     64             </DoubleAnimationUsingKeyFrames>
     65             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse8">
     66                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     67                 <SplineDoubleKeyFrame KeyTime="00:00:00.9000000" Value="0" />
     68                 <SplineDoubleKeyFrame KeyTime="00:00:01.3000000" Value="1" />
     69                 <SplineDoubleKeyFrame KeyTime="00:00:01.8000000" Value="0" />
     70                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     71             </DoubleAnimationUsingKeyFrames>
     72             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse9">
     73                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     74                 <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0" />
     75                 <SplineDoubleKeyFrame KeyTime="00:00:01.4000000" Value="1" />
     76                 <SplineDoubleKeyFrame KeyTime="00:00:01.9000000" Value="0" />
     77                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     78             </DoubleAnimationUsingKeyFrames>
     79             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse10">
     80                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     81                 <SplineDoubleKeyFrame KeyTime="00:00:01.1000000" Value="0" />
     82                 <SplineDoubleKeyFrame KeyTime="00:00:01.5000000" Value="1" />
     83                 <SplineDoubleKeyFrame KeyTime="00:00:02" Value="0" />
     84                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     85             </DoubleAnimationUsingKeyFrames>
     86             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse11">
     87                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     88                 <SplineDoubleKeyFrame KeyTime="00:00:01.2000000" Value="0" />
     89                 <SplineDoubleKeyFrame KeyTime="00:00:01.6000000" Value="1" />
     90                 <SplineDoubleKeyFrame KeyTime="00:00:02.1000000" Value="0" />
     91                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     92             </DoubleAnimationUsingKeyFrames>
     93             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse12">
     94                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
     95                 <SplineDoubleKeyFrame KeyTime="00:00:01.3000000" Value="0" />
     96                 <SplineDoubleKeyFrame KeyTime="00:00:01.7000000" Value="1" />
     97                 <SplineDoubleKeyFrame KeyTime="00:00:02.2000000" Value="0" />
     98                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
     99             </DoubleAnimationUsingKeyFrames>
    100             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse13">
    101                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    102                 <SplineDoubleKeyFrame KeyTime="00:00:01.4000000" Value="0" />
    103                 <SplineDoubleKeyFrame KeyTime="00:00:01.8000000" Value="1" />
    104                 <SplineDoubleKeyFrame KeyTime="00:00:02.3000000" Value="0" />
    105                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
    106             </DoubleAnimationUsingKeyFrames>
    107             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse14">
    108                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    109                 <SplineDoubleKeyFrame KeyTime="00:00:01.5000000" Value="0" />
    110                 <SplineDoubleKeyFrame KeyTime="00:00:01.9000000" Value="1" />
    111                 <SplineDoubleKeyFrame KeyTime="00:00:02.4000000" Value="0" />
    112                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
    113             </DoubleAnimationUsingKeyFrames>
    114             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse15">
    115                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    116                 <SplineDoubleKeyFrame KeyTime="00:00:01.6000000" Value="0" />
    117                 <SplineDoubleKeyFrame KeyTime="00:00:02" Value="1" />
    118                 <SplineDoubleKeyFrame KeyTime="00:00:02.5000000" Value="0" />
    119                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
    120             </DoubleAnimationUsingKeyFrames>
    121             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse16">
    122                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    123                 <SplineDoubleKeyFrame KeyTime="00:00:01.7000000" Value="0" />
    124                 <SplineDoubleKeyFrame KeyTime="00:00:02.1000000" Value="1" />
    125                 <SplineDoubleKeyFrame KeyTime="00:00:02.6000000" Value="0" />
    126                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
    127             </DoubleAnimationUsingKeyFrames>
    128             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse17">
    129                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    130                 <SplineDoubleKeyFrame KeyTime="00:00:01.8000000" Value="0" />
    131                 <SplineDoubleKeyFrame KeyTime="00:00:02.2000000" Value="1" />
    132                 <SplineDoubleKeyFrame KeyTime="00:00:02.7000000" Value="0" />
    133             </DoubleAnimationUsingKeyFrames>
    134             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
    135                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    136                 <SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="180" />
    137                 <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360" />
    138             </DoubleAnimationUsingKeyFrames>
    139             <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
    140                 <SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" />
    141                 <SplineDoubleKeyFrame KeyTime="00:00:02" Value="180" />
    142                 <SplineDoubleKeyFrame KeyTime="00:00:04" Value="360" />
    143             </DoubleAnimationUsingKeyFrames>
    144         </Storyboard>
    145     </Window.Resources>
    146     <Window.Triggers>
    147         <EventTrigger RoutedEvent="FrameworkElement.Loaded">
    148             <BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
    149         </EventTrigger>
    150     </Window.Triggers>
    151     <Grid x:Name="LayoutRoot">
    152         <Viewbox Width="8" Height="8">
    153             <Grid HorizontalAlignment="Center" x:Name="loading" Margin="0" VerticalAlignment="Center" Width="3.333" Height="3.333" Visibility="Visible">
    154                 <Ellipse RenderTransformOrigin="0.468,3.443" x:Name="ellipse" Fill="Black" Stroke="{x:Null}"  />
    155                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}"  x:Name="ellipse0" >
    156                     <Ellipse.RenderTransform>
    157                         <TransformGroup>
    158                             <ScaleTransform ScaleX="2" ScaleY="3" />
    159                             <SkewTransform AngleX="0" AngleY="0" />
    160                             <RotateTransform Angle="0" />
    161                             <TranslateTransform X="0" Y="0" />
    162                         </TransformGroup>
    163                     </Ellipse.RenderTransform>
    164                 </Ellipse>
    165                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse1" >
    166                     <Ellipse.RenderTransform>
    167                         <TransformGroup>
    168                             <ScaleTransform ScaleX="2" ScaleY="3" />
    169                             <SkewTransform AngleX="0" AngleY="0" />
    170                             <RotateTransform Angle="20" />
    171                             <TranslateTransform X="0" Y="0" />
    172                         </TransformGroup>
    173                     </Ellipse.RenderTransform>
    174                 </Ellipse>
    175                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse2" >
    176                     <Ellipse.RenderTransform>
    177                         <TransformGroup>
    178                             <ScaleTransform ScaleX="2" ScaleY="3" />
    179                             <SkewTransform AngleX="0" AngleY="0" />
    180                             <RotateTransform Angle="40" />
    181                             <TranslateTransform X="0" Y="0" />
    182                         </TransformGroup>
    183                     </Ellipse.RenderTransform>
    184                 </Ellipse>
    185                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse3">
    186                     <Ellipse.RenderTransform>
    187                         <TransformGroup>
    188                             <ScaleTransform ScaleX="2" ScaleY="3" />
    189                             <SkewTransform AngleX="0" AngleY="0" />
    190                             <RotateTransform Angle="60" />
    191                             <TranslateTransform X="0" Y="0" />
    192                         </TransformGroup>
    193                     </Ellipse.RenderTransform>
    194                 </Ellipse>
    195                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse4">
    196                     <Ellipse.RenderTransform>
    197                         <TransformGroup>
    198                             <ScaleTransform ScaleX="2" ScaleY="3" />
    199                             <SkewTransform AngleX="0" AngleY="0" />
    200                             <RotateTransform Angle="80" />
    201                             <TranslateTransform X="0" Y="0" />
    202                         </TransformGroup>
    203                     </Ellipse.RenderTransform>
    204                 </Ellipse>
    205                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse5">
    206                     <Ellipse.RenderTransform>
    207                         <TransformGroup>
    208                             <ScaleTransform ScaleX="2" ScaleY="3" />
    209                             <SkewTransform AngleX="0" AngleY="0" />
    210                             <RotateTransform Angle="100" />
    211                             <TranslateTransform X="0" Y="0" />
    212                         </TransformGroup>
    213                     </Ellipse.RenderTransform>
    214                 </Ellipse>
    215                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse6" >
    216                     <Ellipse.RenderTransform>
    217                         <TransformGroup>
    218                             <ScaleTransform ScaleX="2" ScaleY="3" />
    219                             <SkewTransform AngleX="0" AngleY="0" />
    220                             <RotateTransform Angle="120" />
    221                             <TranslateTransform X="0" Y="0" />
    222                         </TransformGroup>
    223                     </Ellipse.RenderTransform>
    224                 </Ellipse>
    225                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse7" >
    226                     <Ellipse.RenderTransform>
    227                         <TransformGroup>
    228                             <ScaleTransform ScaleX="2" ScaleY="3" />
    229                             <SkewTransform AngleX="0" AngleY="0" />
    230                             <RotateTransform Angle="140" />
    231                             <TranslateTransform X="0" Y="0" />
    232                         </TransformGroup>
    233                     </Ellipse.RenderTransform>
    234                 </Ellipse>
    235                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse8" >
    236                     <Ellipse.RenderTransform>
    237                         <TransformGroup>
    238                             <ScaleTransform ScaleX="2" ScaleY="3" />
    239                             <SkewTransform AngleX="0" AngleY="0" />
    240                             <RotateTransform Angle="160" />
    241                             <TranslateTransform X="0" Y="0" />
    242                         </TransformGroup>
    243                     </Ellipse.RenderTransform>
    244                 </Ellipse>
    245                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse9" >
    246                     <Ellipse.RenderTransform>
    247                         <TransformGroup>
    248                             <ScaleTransform ScaleX="2" ScaleY="3" />
    249                             <SkewTransform AngleX="0" AngleY="0" />
    250                             <RotateTransform Angle="180" />
    251                             <TranslateTransform X="0" Y="0" />
    252                         </TransformGroup>
    253                     </Ellipse.RenderTransform>
    254                 </Ellipse>
    255                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse10" >
    256                     <Ellipse.RenderTransform>
    257                         <TransformGroup>
    258                             <ScaleTransform ScaleX="2" ScaleY="3" />
    259                             <SkewTransform AngleX="0" AngleY="0" />
    260                             <RotateTransform Angle="200" />
    261                             <TranslateTransform X="0" Y="0" />
    262                         </TransformGroup>
    263                     </Ellipse.RenderTransform>
    264                 </Ellipse>
    265                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse11" >
    266                     <Ellipse.RenderTransform>
    267                         <TransformGroup>
    268                             <ScaleTransform ScaleX="2" ScaleY="3" />
    269                             <SkewTransform AngleX="0" AngleY="0" />
    270                             <RotateTransform Angle="220" />
    271                             <TranslateTransform X="0" Y="0" />
    272                         </TransformGroup>
    273                     </Ellipse.RenderTransform>
    274                 </Ellipse>
    275                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse12" >
    276                     <Ellipse.RenderTransform>
    277                         <TransformGroup>
    278                             <ScaleTransform ScaleX="2" ScaleY="3" />
    279                             <SkewTransform AngleX="0" AngleY="0" />
    280                             <RotateTransform Angle="240" />
    281                             <TranslateTransform X="0" Y="0" />
    282                         </TransformGroup>
    283                     </Ellipse.RenderTransform>
    284                 </Ellipse>
    285                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse13" >
    286                     <Ellipse.RenderTransform>
    287                         <TransformGroup>
    288                             <ScaleTransform ScaleX="2" ScaleY="3" />
    289                             <SkewTransform AngleX="0" AngleY="0" />
    290                             <RotateTransform Angle="260" />
    291                             <TranslateTransform X="0" Y="0" />
    292                         </TransformGroup>
    293                     </Ellipse.RenderTransform>
    294                 </Ellipse>
    295                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse14" >
    296                     <Ellipse.RenderTransform>
    297                         <TransformGroup>
    298                             <ScaleTransform ScaleX="2" ScaleY="3" />
    299                             <SkewTransform AngleX="0" AngleY="0" />
    300                             <RotateTransform Angle="280" />
    301                             <TranslateTransform X="0" Y="0" />
    302                         </TransformGroup>
    303                     </Ellipse.RenderTransform>
    304                 </Ellipse>
    305                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse15" >
    306                     <Ellipse.RenderTransform>
    307                         <TransformGroup>
    308                             <ScaleTransform ScaleX="2" ScaleY="3" />
    309                             <SkewTransform AngleX="0" AngleY="0" />
    310                             <RotateTransform Angle="300" />
    311                             <TranslateTransform X="0" Y="0" />
    312                         </TransformGroup>
    313                     </Ellipse.RenderTransform>
    314                 </Ellipse>
    315                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse16" >
    316                     <Ellipse.RenderTransform>
    317                         <TransformGroup>
    318                             <ScaleTransform ScaleX="2" ScaleY="3" />
    319                             <SkewTransform AngleX="0" AngleY="0" />
    320                             <RotateTransform Angle="320" />
    321                             <TranslateTransform X="0" Y="0" />
    322                         </TransformGroup>
    323                     </Ellipse.RenderTransform>
    324                 </Ellipse>
    325                 <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse17" >
    326                     <Ellipse.RenderTransform>
    327                         <TransformGroup>
    328                             <ScaleTransform ScaleX="2" ScaleY="3" />
    329                             <SkewTransform AngleX="0" AngleY="0" />
    330                             <RotateTransform Angle="340" />
    331                             <TranslateTransform X="0" Y="0" />
    332                         </TransformGroup>
    333                     </Ellipse.RenderTransform>
    334                 </Ellipse>
    335                 <Ellipse RenderTransformOrigin="0.5,0.499" x:Name="ellipse_Copy" Fill="Black" Stroke="{x:Null}" Margin="-0.012,0,0.001,-9.67" VerticalAlignment="Bottom" Height="3.344">
    336                     <Ellipse.RenderTransform>
    337                         <TransformGroup>
    338                             <ScaleTransform ScaleX="2" ScaleY="3" />
    339                             <SkewTransform AngleX="0" AngleY="0" />
    340                             <RotateTransform Angle="0" />
    341                             <TranslateTransform X="0" Y="0" />
    342                         </TransformGroup>
    343                     </Ellipse.RenderTransform>
    344                 </Ellipse>
    345                 <Border RenderTransformOrigin="0.492,1.006" Margin="1.081,0,1.086,-8.056" x:Name="border" VerticalAlignment="Bottom" Height="8.622" Background="Black" CornerRadius="1,1,0,0">
    346                     <Border.RenderTransform>
    347                         <TransformGroup>
    348                             <ScaleTransform ScaleX="2" ScaleY="3" />
    349                             <SkewTransform AngleX="0" AngleY="0" />
    350                             <RotateTransform Angle="0" />
    351                             <TranslateTransform X="0" Y="0" />
    352                         </TransformGroup>
    353                     </Border.RenderTransform>
    354                 </Border>
    355                 <Border Height="4.994" Background="Black" CornerRadius="1,1,0,0" RenderTransformOrigin="0.496,1.001" Margin="0.705,0,0.714,-8.058" x:Name="border1" VerticalAlignment="Bottom">
    356                     <Border.RenderTransform>
    357                         <TransformGroup>
    358                             <ScaleTransform ScaleX="2" ScaleY="3" />
    359                             <SkewTransform AngleX="0" AngleY="0" />
    360                             <RotateTransform Angle="0" />
    361                             <TranslateTransform X="0" Y="0" />
    362                         </TransformGroup>
    363                     </Border.RenderTransform>
    364                 </Border>
    365             </Grid>
    366         </Viewbox>
    367         <Label Content="系统正在处理一些事情" FontSize="48" Foreground="Orange" HorizontalAlignment="Left" Margin="396,668,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.274,0.462"/>
    368     </Grid>
    369 </Window>
    View Code

    后台C#代码

     1  public partial class CoverForm : Window
     2     {
     3         public CoverForm(Action workAction)
     4         {
     5             InitializeComponent();
     6             this.workAction = workAction;
     7             System.Threading.Thread t = new System.Threading.Thread(ExecWorkAction);
     8             t.IsBackground = true;
     9             t.Start();
    10         }
    11         private Action workAction = null;
    12         private void ExecWorkAction()
    13         {
    14             try
    15             {
    16                 var workTask = new Task(workAction);
    17                 workTask.Start();
    18                 Task.WaitAll(workTask);
    19             }
    20             finally
    21             {
    22                 this.Dispatcher.Invoke(new Action(() => { this.Close(); }));
    23             }
    24         }
    25     }
    View Code

    调用的代码

    1  new CoverForm(() => {耗时的代码 }); }).Show();          
    View Code

    有需要的尽管拿去吧,要问我是谁,请叫我是雷锋。

  • 相关阅读:
    从安装.net Core 到helloWord(Mac上)
    阿里云-对象储存OSS
    图片处理
    项目中 添加 swift代码 真机调试 错误
    iOS面试总结
    IOS APP配置.plist汇总
    cocoapods安装问题
    iOS8使用UIVisualEffectView实现模糊效果
    ios键盘回收终极版
    ?C++ 缺少参数的默认参数
  • 原文地址:https://www.cnblogs.com/saodiseng2015/p/4610932.html
Copyright © 2011-2022 走看看