Windows Phone Splash Screen Ekleme

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.

 

Add comment