Windows Phone projelerinde uygulama açılırken SplashScreen dediğimiz açılış sayfalarını thread kullanarak ekleyebiliyoruz. Bunun için bir adet WindowsPhone projesi oluşturuyoruz ve içerisine MainPage.xaml sayfasından başka 1 adet adı SplashScreen olan portrait page ekliyoruz ve sonrasında aşağıdaki kodları sayfalarımıza ekliyoruz.
SplashScreen.xaml Design Sayfası
<Grid x:Name="LayoutRoot" Background="White" Width="480" Height="900">
<ProgressBar HorizontalAlignment="Left" Margin="49,712,0,149" Name="progressBar1" Width="383" />
<Image Height="666" HorizontalAlignment="Left" Margin="0,0,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="480" Source="SplashScreenImage.png" />
<TextBlock HorizontalAlignment="Left" Margin="151,671,0,193" Name="textBlock1" Text="Lütfen Bekleyiniz..." Width="173" Foreground="Black" FontSize="22" />
</Grid>
SplashScreen.xaml Code Behind
publicpartialclassSplashScreen : PhoneApplicationPage
{
public SplashScreen()
{
InitializeComponent();
this.progressBar1.IsIndeterminate = true; //Progressbar’ın çalışmasını söyledik
}
}
MainPage.xaml Code Behind
//Metod içerisinde kullanmak için Global değişkenleri tanımlıyoruz
privatePopup popup;
privateBackgroundWorker backroungWorker;
public PrayerTime()
{
InitializeComponent();
ShowSplash(); //SplashScreen metodunu çağırıyoruz
}
privatevoid ShowSplash()
{
this.popup = newPopup();
this.popup.Child = newSplashScreen();
this.popup.IsOpen = true;
StartLoadingData();
}
privatevoid StartLoadingData()
{
backroungWorker = newBackgroundWorker();
backroungWorker.DoWork += newDoWorkEventHandler(backroungWorker_DoWork);
backroungWorker.RunWorkerCompleted += newRunWorkerCompletedEventHandler(backroungWorker_RunWorkerCompleted);
backroungWorker.RunWorkerAsync();
}
void backroungWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.Dispatcher.BeginInvoke(() =>
{
this.popup.IsOpen = false;
}
);
}
void backroungWorker_DoWork(object sender, DoWorkEventArgs e)
{
Thread.Sleep(1000); //Splash screen sayfasının ne kadar süre ile ekranda kalacağını belirtiyoruz
}
Kodları hatasız yazdıktan sonra uygulamamızı çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır.