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.
No responses yet