Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (37 sloc) 4.03 KB
layout title date author comments category tags
post
Windows 10 UWP uygulamasının kendini kapatıp tekrar başlatması (Restart)
2017-08-06 12:00
engin.polat
true
Windows
coreapplication
exit
grid
textblock
rowdefinition
columndefinition
listview
datatemplate
itemtemplate
image
button
itemssource
observablecollection
keyvaluepair
onnavigatedto
bitmapimage
requestrestartasync
async
await
onactivated
launchactivatedeventargs
arguments
frame
navigate
Bu makalenin kodlarına Github üzerinde polatengin hesabımda yer alan Windows 10 UWP Restart Project aracılığıyla erişebilirsiniz.

Birçok uygulama için kendini kapatıp tekrar başlatma (özellikle de değiştirilen bir ayarı veya lisansı güncelleyerek başlatma) sıklıkla ihtiyaç duyulan bir özelliktir.

Windows 10 UWP uygulamalarını kapatmak için Windows.ApplicationModel.Core namespace'inde yeralan CoreApplication sınıfının Exit() methodunu çağırmamız yeterli.

Fakat uygulamanın tekrar başlatılmasını kullanıcıdan beklemek zorunda kalıyoruz. Daha iyi bir kullanım deneyimi için aslında uygulamanın kendisini kapatıp tekrar başlatabilmesi lazım.

Windows 10 UWP projelerinde, uygulamanın kendini kapatıp tekrar başlatabilmesini sağlamak, aslında çok kolay.

Önemli not : Bu özelliğin çalışması için bilgisayarda Windows 10 Build 16226 veya sonrası kurulu olmalı

Hemen yeni bir Visual Studio açalım ve Windows 10 UWP projesi oluşturalım, ben bu makalede projeme RestartProject ismini verdim.

Öncelikle MainPage.xaml dosyasını açalım ve aşağıdaki şekilde güncelleyelim;

<script src="https://gist.github.com/polatengin/757a31eaa27549023ba0713a09c040b1.js?file=MainPage.xaml"></script>

Şimdi MainPage.xaml.cs dosyasını açalım ve aşağıdaki kodları yazalım;

<script src="https://gist.github.com/polatengin/757a31eaa27549023ba0713a09c040b1.js?file=MainPage.xaml.cs"></script>

Bu seçim ile yeniden başlat butonuna tıklandığı zaman, CoreApplication sınıfında yeralan RequestRestartAsync() methodunu çağırıyoruz.

RequestRestartAsync() methodu parametre alabiliyor ve bu parametreyi, uygulama baştan başlatıldığı zaman App.xaml.cs dosyasında yeralan OnActivated() methoduna gönderiyor.

Projede yeralan App.xaml.cs dosyasını açalım ve aşağıdaki kodları yazalım;

<script src="https://gist.github.com/polatengin/757a31eaa27549023ba0713a09c040b1.js?file=App.xaml.cs"></script>

Böylece ekrandaki listeden seçili olan öğreyi uygulama kapanıp tekrar açılırken parametre olarak kullanıyoruz. Uygulama tekrar başladığı zaman seçili olan öğe seçili olarak başlatılıyor.

Örnek kullanım alanları;

  • Tema seçimi
  • Yeni versiyon güncellemesi
  • Ayar değişikliği
  • vs

Bu makale How to Restart your App Programmatically makalesi baz alınarak yazılmıştır :)