Az első Windows Phone 8 alkalmazásom

Windows Phone SDK 8.0

A Windows Phone  SDK 8.0 2012. október 29-én este jelent meg a Windows Phone Dev Center weboldalán, ami ingyen letölthető.  Az új SDK visszamenőleg kompatibilitást biztosít a WP 7.X –re fejlesztett  alkalmazásokkal, de az új élmények kihasználásához feltétlenül szükséges az új platformot használni.

Az SDK telepíti a Micorsoft Visual Studio Express  2012 for Windows Phone ingyenes fejlesztői környezetet, de ha már meg van a teljes Microsoft Visual Studio akkor csak a Windows Phone Add-in for Visual Studio komponenst telepíti. Megtalálható a Windows Phone 8 emulator a telepítőben. Az emulator 3 fajta kijelző méretet biztosít (WVGA (800 × 480), WXGA (1280 × 768), 720p (1280 × 720)). A Win Phone 8 SDK telepítéséhez 64 bites Windows 8 operációs rendszer szükséges. Az emulátorhoz pedig a W8-nak a Professional változata kell, valamint 4 GB RAM (nálam 3GB RAM-mal is tökéletes), valamint igényli a hardware-es virtualizációt.  A teljes rendszerkövetelmény itt található.

A Win Phone 8 SDK telepítésével különböző nyelvek és eszközök települnek Win Phone 8-ra fejleszthetünk játékokat és egyéb WP Store alkalmazásokat. Játékokat C++ és Direct3D nyelven készíthetünk (native). Ezen kívül a fejleszthetünk alkalmazás XAML és C#/VB.NET/C++ nyelveken (managed). A menedzselt kódú programokba beágyazhatók a Direct3D/C++ natív kódok, ami elősegíti a C++ programok újrafelhasználását (fordítva nem lehetséges). Continue reading

Az alkalmazás beállításainak változtatása futásidőben.

Mivel a Windows 8 alkalmazásoknak a beállításai az egységesített Settings Panelen találhatóak, ezért nem közvetlenül az alkalmazásból, hanem egy “külső” felugró UserControlból lehet elérni a beállításokat.

Mivel ez közvetlen nem fér hozzá az alkalmazásunkhoz, ezért egy megoldásként készíthetünk egy publikus eseményt, mely a Settings Panelen lévő változtatáskor meghívódik, és az alkalmazásunkban pedig feliratkozunk erre az eseményre, és az új értékeknek megfelelően módosítja az alkalmazásunkat is.

Először létrehozzuk a User Control kódjában, majd például egy combobox selectionchanged eseményében meghívjuk:

public static event EventHandler SettingsChangedEvent;
public void ComboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
 {
   //eltároljuk a változásokat
   SettingsChangedEvent(this, EventArgs.Empty);
 }

Nincs más dolgunk, mint az alkalmazásban megmondani, hogy mit csináljon ha ez az esemény megtörténik:

UserControl.SettingsChangedEvent += new EventHandler(UpdateSettingsEvent);
private void UpdateSettingsEvent(object sender, EventArgs e)
 {
 //Megcsináljuk a módosításokat
 }

Ez akkor hasznos, ha rögtön látni szeretnénk a változás eredményeit, például ha különböző színű témák közül szeretnénk választani, de az alkalmazás nyelvét is megváltoztathatjuk anélkül, hogy újra kellene indítani az alkalmazást.