Kezdőlap > .NET, Windows Phone 7 > WP7 – User Control készítése

WP7 – User Control készítése

2012. április 12. csütörtök Hozzászólás Go to comments

Sokszor előforduló fejlesztési eset, hogy ugyanazt a modult, komponenst újra és újra fel kell használni a projekten belü, vagy egy másik projektben. Nem lenne túl hatékony minden esetben újra megírni ugyanazt a kódsort, vagy épp másolni a kódokat. Nézzünk erre egy egyszerű példát!

Tegyük fel, hogy lenne egy olyan alkalmazásunk, ahol a szolgáltatás eléréséhez be kell jelentkeznie a felhasználónak! A Login vezérlőt az alkalmazás során legalább 5-6 helyen feldobhatjuk, de nem szeretnénk ezt ilyen sokszor újra megírni. Kell tehát egy általánosabb megoldás.

1. Készítsünk egy új Windows Phone 7 projektet, a neve legyen a WP7UserControlDemo!

2. A Solution Explorer-be kattintsunk jobb egérgombbal, majd adjunk egy új User Controlt a projektünkhöz: Add -> New Item -> Windows Phone User Control! A User Control neve legyen a LoginControl!

3. A LoginControl tervezői nézetében helyezzük el a következő vezérlőket:

imagea. TextBlock: Text = Felhasználó név:

b. TextBox: Name = txtUserName

c. TextBlock: Text = Jelszó:

d. PasswordBox: Name = pwdBox

e. Button: Name=btnCancel, Content=Mégse

f. Button: Name=btnLogin, Content=Bejelentkezés

g. A User Control méretét állítsuk a vezérlőknek megfelelően !

4. A User Control már most is használható, de készítünk a user control-nak két eseményt: az egyik a Mégse, a másik a Bejelentkezés gombra való nyomás lesz. Kattintsunk mind a két gombra, ezzel betöltve a két gomb klikk eseményét, majd készítsünk egy delegátumot és két egyszerű eseményt! A kód a LoginControl kódja, a következőképpen fog kinézni:

public partial class LoginControl : UserControl

{

    public delegate void ButtonEventHandler(object sender, EventArgs e);

    public event ButtonEventHandler CancelClick, LoginClick;

 

    public LoginControl()

    {

        InitializeComponent();

    }

 

    private void btnCancel_Click(object sender, RoutedEventArgs e)

    {

        if (CancelClick != null)

        {

            CancelClick(sender, e);

        }

    }

 

    private void btnLogin_Click(object sender, RoutedEventArgs e)

    {

        if (LoginClick != null)

        {

            LoginClick(sender, e);

        }

    }

}

5. Itt az ideje kipróbálni a vezérlőt: nyissuk meg a MainPage.xaml.cs fájlt, majd az xml névterek közé vegyük fel a projektünket! (Adjunk számára egy aliast is! Ez most a control névre fog hallgatni.)

xmlns:control="clr-namespace: WP7UserControlDemo "

6. A layoutroot (grid) elrendezésvezérlőbe pedig helyezzük el a login vezérlőnket!

<control:LoginControl/>

7. Ha mindent jól csináltunk, már meg is jelenik a tervezői nézetben a Login vezérlőnk. Még annyit tegyünk meg, hogy a Login vezérlőnk LoginClick eseményére feliratkozunk, és annak az eseménynek adunk egy törzset:

<control:LoginControl LoginClick="Login_Click" />

8. A code behind-ba egyszerűen csak hívjuk meg a MessageBoxot:

private void Login_Click(object sender, EventArgs e)

{

    MessageBox.Show("Sikeres bejelentkezés!");

}

9. Indítsuk el az alkalmazást, és próbáljuk ki működés közben a vezérlőt!

Az újrafelhasználhatóság jegyében igyekezzünk mindig vezérlőkben gondolkodni, és próbáljuk minél általánosabb funkcionalitással ellátni.

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: