Kezdőlap > .NET, Windows Phone 7 > System Tray

System Tray

2012. március 7. szerda Hozzászólás Go to comments

imageA System Tray a rendszer által lefoglalt terület, ahol a rendszerinformációk jelennek meg: térerő, töltöttség, státuszinformációk stb. Ezt elrejthetjük, de ha nem muszáj, ne tegyük meg! Ezzel ugyan nyerhetünk némi területet, de a felhasználótól információkat rejtünk el (sarkított példa: ha a felhasználó játszik a készülékén egy online játékkal, és közben átmegy az országhatáron, nem fog örülni, amikor meglátja a telefonszámláján a roaming díjat, amit néhány megabyte miatt kell fizetni, amit eljátszott. Vagy épp játék közben hirtelen lemerül a készülék.)

Ha mégis el akarjuk rejteni, akkor azt megtehetjük XAML-ben, a PhoneApplicationPage-nél:

shell:SystemTray.IsVisible="True"

Vagy C# kódból:

Microsoft.Phone.Shell.SystemTray.IsVisible = false;

A Windows Phone 7 első változatában a System Tray nem sok dologra volt alkalmas. Tulajdonképpen csak elrejthettük, ha akartuk, de más testreszabásra nem volt lehetőség. A Mango frissítéstől kezdve viszont plusz funkcionalitást is kapott, illetve némi testre szabhatóságot is. Sok alkalmazásnál probléma volt, hogy az alkalmazásnak volt egy alapértelmezett arculata, de ahhoz a fekete-fehér system tray nem alkalmazkodott, ezért eléggé kilógott az alkalmazás felső része, így egy kicsit bután nézhetett ki az alkalmazásunk. Most viszont már van arra lehetőség, hogy a System Tray színeit is testre szabjuk. Nézzünk egy példát XAML-ben!

<phone:PhoneApplicationPage

xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"

shell:SystemTray.BackgroundColor="Orange"

shell:SystemTray.ForegroundColor="Black"

 

shell:SystemTray.IsVisible="True">

image

A System Tray a testre szabhatóságon kívül kiegészült egy ProgressIndicatorral is, így nem kell külön progressbar-t használnunk, ha egy hosszabb folyamatot akarunk jelezni a felhasználó számára. Megtarthatjuk a System Tray-t, és abban elindíthatjuk és megjeleníthetjük a folyamatjelzőt.

A ProgressIndicator-t elhelyezhetjük kódból. Ehhez szükségünk lesz a Microsoft.Phone.Shell névtérre.

using Microsoft.Phone.Shell;

Hozzuk létre a ProgressIndicator példányt (például a konstruktorban), és állítsuk be számunkra megfelelően a tulajdonságait!

ProgressIndicator pIndicator = new ProgressIndicator();

pIndicator.IsVisible = true;

pIndicator.Text = "Lekérdezés folyamatban…";

pIndicator.IsIndeterminate = true;

Jelen esetben van egy ProgressIndicator-unk, aminek az IsVisible tulajdonsága True, a Text tulajdonsága a „Lekérdezés folyamatban…” szöveg, és az IsIndeterminate tulajdonsága True, azaz nem határozzuk meg, hogy hol tart a folyamat. Ha most elindítanánk az alkalmazást, nem jelenne meg a ProgressIndicator. Ezt külön meg kell mondanunk a System Tray-nek, az alábbi módon:

SystemTray.SetProgressIndicator(this, pIndicator);

Így már ha elindítjuk az alkalmazást (és ha most a konstruktorba helyeztük el a kódot), az alábbi eredményt láthatjuk:

image

A ProgressIndicator-t elhelyezhetjük XAML-ből is, és persze tulajdonságaihoz akár adatköthetünk is.

Példa XAML-ben történő Progress Indicator megadására (PhoneApplicationPage és az elrendezés vezérlő közé helyezhetjük):

<shell:SystemTray.ProgressIndicator>

    <shell:ProgressIndicator x:Name="pIndicator" IsVisible="True" IsIndeterminate="True" Text="Adatok lekérdezése"/>

</shell:SystemTray.ProgressIndicator>

Az eredmény hasonló, mint az előző esetben.

Ne feledjük: a ProgressIndicator eltüntetéséről is nekünk kell gondoskodnunk!

Kategóriák:.NET, Windows Phone 7 Címke: , , ,
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: