Итак, вот ситуация.В настоящее время я работаю над C # WPF Desktop Application, и я хотел добавить заставку при запуске программы.
Но я не использую класс SplashScreen.Я использую дополнительный класс окон WPF поверх приложения с тем же именем, и я называю этот класс Splashy.
У моего заставки есть анимированное GIF-изображение, которое хорошо работает при анимации на элементе управления WebBrowserКласс Splashy ниже ...
<Image gif:ImageBehavior.AnimatedSource="Images/FSIntro.gif" Margin="10,1,0,10">
<Image.OpacityMask>
<ImageBrush ImageSource="Images/FSIntro.gif"/>
</Image.OpacityMask>
</Image>
... и сам класс Splashy инициализируется как StartupUri ниже в App.XAML.
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
... ...
... (some text) ...
... ...
StartupUri="Splashy.xaml">
<Application.Resources>
Но проблема в этом сценарии заключается в том, что заставка просто зависает и не входит в саму основную программу.
Поэтому я попробовал другой подход.Один с использованием кода.
И когда я внедряю следующий код в заставку, а затем внедряю его в свою программу, чтобы запустить заставку и затем отобразить домашний экран, заставка делает то, что я хочу сделать но он не анимирует , как хотелось бы.
Ниже приведен код класса Splashy
public partial class Splashy : Window
{
public Intro()
{
InitializeComponent();
}
public void Outro()
{
this.Close();
}
}
А ниже приведен метод программы, в котором реализуется splashScreen.
public partial class LoginScreen : Window
{
Splashy splash = new Splashy();
public LoginScreen()
{
splash.Show();
Thread.Sleep(5000);
splash.Outro();
// home screen
}
}
Любые указатели и помощь будет принята с благодарностью.