如何在WPF中同时运行GIF并加载Dll

时间:2017-09-28 09:51:52

标签: c# wpf multithreading xaml

我正在从头学习Document doc = new Document(); doc.LoadFromFile(fileName); ToPdfParameterList tpl = new ToPdfParameterList{ UsePSCoversion = true; //azure }; doc.SaveToFile(resultName); 。我创建了Splash Window,应该在应用程序启动时启动一次。启动窗口有* Wpf 在后台我*One dog running GIF**.加载。我的问题是,如果我不使用dll**Task.Delay(1000)**我的 GIF 无法使用。 如果我使用**Thread.Sleep(1000)**.**Task.Delay(1000)**,那么我的GIF可以正常工作,但是因为我在延迟(1000)睡眠(1000)中设置了1秒后我的程序执行速度变慢)我的程序开始启动,我的GIF停止了。

我想要的是两者(我的GIF和应用程序执行应该同时运行) 并且在所有DLL获得Load登录屏幕后将显示

启动画面.Xaml

**Thread.Sleep(1000)**

启动Screen.Xaml.cs

<Window x:Class="DemoProject.SplashWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:PetGalaxy_GED"
     xmlns:gif="http://wpfanimatedgif.codeplex.com"
    mc:Ignorable="d"
    ResizeMode="NoResize" AllowsTransparency="True"  Background ="Transparent" Opacity="1" WindowStyle="None" WindowStartupLocation = "CenterScreen"
    Title="GalaxyEnterpriseDesktop" Height="300" Width="600">

<Border Background="#F7F7F7" BorderBrush="Black" BorderThickness="1" CornerRadius="22,22,22,22">
    <StackPanel VerticalAlignment="Center">
        <Grid Height="auto" Margin="170,0,228,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <TextBlock Text="Loading" Grid.Column="0" Margin="38,19,5,19" FontSize="16" FontWeight="SemiBold"/>
            <!--<ProgressBar Minimum="0" Maximum="100" Height="10" Background="Transparent" Width="100" Foreground="Black" Name="pbStatus" IsIndeterminate="True" Grid.Column="1" Margin="4,29,-4,20" />-->
            <Image Width="100" Height="50" gif:ImageBehavior.RepeatBehavior="50x" gif:ImageBehavior.AnimatedSource="..\Images\RunningDog.gif" VerticalAlignment="Top" RenderTransformOrigin="0.61,0.465" Margin="65,-7,35,0" Grid.ColumnSpan="2" />
        </Grid>
    </StackPanel>
</Border>

我正在显示我的启动窗口

App.Xaml.cs

public partial class SplashWindow : Window
{
    public SplashWindow()
    {
        InitializeComponent();

    }
}

0 个答案:

没有答案