1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trìn windows phone 8 tiếng việt có hướng dẫn cơ bản

68 534 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 2,1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nó là một phiên bản ñơn nhiệm của Visual Studio ñặc biệt dành cho phát triển ñiện thoại , do ñó bạn sẽ không nhận ñược các công cụ ñể tạo ra các ứng dụng Windows 8 Store, Windows Present

Trang 1

NGUYỄN VĂN THẠNH

LẬP TRÌNH WINDOWS

PHONE 8 ( Các hướng dẫn cơ bản )

2014

Trang 3

I-Mở đầu

ðây là tài liệu hướng dẫn thực hành cơ bản cho người mới bắt ñầu làm quen với lập trình Windows Phone 8 trên Visual Studio 12 cài ñặt cho máy tính có hệ ñiều hành Windows 8 Vì vậy trong tài liệu này có nhiều ñiều ñược giải thích cặn

kẻ bằng hình ảnh ñể minh họa cho các thao tác trên máy tính Có thể bỏ qua các giải thích ñó nếu bạn ñã quen thuộc với Windows 8 và VS 2012.Ngoài ra ñể theo dõi tài liệu bạn cũng cần phải có một ít hiểu biết về ngôn ngữ lập trình C#, khái niệm về ngôn ngữ kịch bản

Trong tài liệu chúng tôi dùng windows phone Emulator ( trình giả lập ñiện thoại với hệ ñiều hành Windows Phone ) ñể chạy các ứng dụng và dùng VS 2012

ñể viết code

Tài liệu ñược dịch từ các tài liệu dạng ebook trên Internet, các bài viết có liên quan trên MSDN (http://msdn.microsoft.com/en-us/library/windowsphone /develop/), Nokia Dev (http://developer.nokia.com/ )và trên các diễn ñàn về

Windows Phone Xin chân thành cảm ơn các tác giả

Trang 4

II-Cài đặt Windows Phone SDK 8.0

Windows Phone là hệ ñiều hành của Microsoft dành cho smartphone, nó kế tục nền tảng Windows Mobile mặc dù chúng không tương thích với nhau Khác với Windows Mobile, Windows Phone tập trung vào sự phát triển của Market place - nơi các nhà phát triển có thể cung cấp sản phẩm (miễn phí hoặc có phí) tới người dùng Windows Phone ñược bán vào tháng 10 năm 2010 và ñầu năm

2011 tại Châu Á

Ngày 20 tháng 6 năm 2012, Microsoft giới thiệu Windows Phone 8, một thế

hệ hệ ñiều hành mới, và 4 tháng sau, 29 tháng 10 năm 2012, Microsoft bắt ñầu bán phiên bản này Windows Phone 8 thay thế lõi kiến trúc Windows CE trên Windows Phone 7 thành kernel của Windows NT vốn ñược thiết kế cho Windows

8, ñiều này ñã làm cho ứng dụng dễ dàng ñược kết nối giữa hai hệ ñiều hành Ngoài ra, Windows Phone 8 còn hỗ trợ CPU ña nhân, nhiều ñộ phân giải, tùy biến Start Screen, phiên bản di ñộng của Internet Explorer 10, Nokia Maps thay thế Bing Maps.Theo Microsoft, Windows Phone 8 sẽ ñược hỗ trợ ñến ngày 8 tháng 7 năm 2014

Phiên bản mới nhất hiện tại là Windows Phone 8 nhưng bản 8.1 cũng ñược

Trang 5

Trước khi phát triển một ứng dụng ñiện thoại Windows 8 , cần phải cài ñặt Windows Phone 8 SDK (Software Development Kit) trên một máy tính chạy Windows 8 bản 64-bit Lý do là vì chúng hổ trợ chạy Windows Phone Emulator , trình giả lập Windows Phone, nó hoạt ñộng như một máy ảo trong Hyper-V, nền tảng ảo hóa của Microsoft Vì vậy, khi sau khi cài ñặt trên máy tính ,ta sẽ có hệ ñiều hành Windows Phone 8 chạy trên một ñiện thoại ảo trông giống như một ñiện thoại thực sự và ta có thể dùng Emulator thử nghiệm công việc của mình

1 Tìm hiểu các yêu cầu về hệ ñiều hành

Việc trước tiên là kiểm tra phiên bản hệ ñiều hành trên máy tính.Ta vào Control Panel, System and Security , trong hộp thoại System sẽ thấy phiên bản HðH của máy tính :

ðể tiết kiệm thời gian và chi phí,nếu bạn ñang chạy Windows phiên bản trước 32-bit, bạn có thể sử dụng Windows Upgrade Advisor bằng cách truy cập:

Trang 6

http://windows.microsoft.com/en-us/windows/buy ñể nâng cấp lên Windows 8 hay 8.1 bản 64-bit

Với mục ñích phát triển ứng dụng Windows Phone, bạn không cần phải lựa chọn phiên bản Pro, chỉ cần ñảm bảo bất cứ ñiều gì bạn chọn ñều là 64-bit

Tiếp theo, bạn tải về và cài ñặt Windows Phone SDK 8 Nếu bạn ñã có Visual Studio 2012 Professional hoặc cao hơn, trình cài ñặt sẽ chỉ thêm các công

cụ cần thiết cho phát triển ñiện thoại giả lập Nếu bạn không có Visual Studio

2012, trình cài ñặt sẽ thêm Visual Studio 2012 Express for Windows Phone 8 Nó

là một phiên bản ñơn nhiệm của Visual Studio ñặc biệt dành cho phát triển ñiện thoại , do ñó bạn sẽ không nhận ñược các công cụ ñể tạo ra các ứng dụng Windows 8 Store, Windows Presentation Foundation, ASP.NET, vv Tôi sử dụng phiên bản này cho phần còn lại của loạt bài này, tuy vậy cách làm là gần giống như cách sử dụng Visual Studio 2012 Professional hoặc cao hơn

Link tải Windows Phone SDK

http://developer.windowsphone.com/en-us/downloadsdk

2 Kích hoạt Hyper-V

Trong khi cài ñặt, bạn có thể thấy thông báo này:

Trang 7

Trong trường hợp này, bạn sẽ cần phải kích hoạt bo mạch chủ của bạn ñể chạy Hyper-V

Sau ñây là hướng dẫn kích hoạt Hyper-V của microsoft :

ðể kích hoạt Hyper-V, bạn phải làm những ñiều sau ñây:

- Enable các thiết lập BIOS Hyper-V yêu cầu

- Enable Hyper-V trong Windows

ðể kích hoạt các thiết lập BIOS Hyper-V yêu cầu:

Trang 8

Khởi ñộng lại máy tính và bấm phím cài ñặt BIOS Bạn có thể xem và thay ñổi các thiết lập BIOS của máy tính bằng cách nhấn một phím qui ñịnh trong quá trình khởi ñộng máy tính Phím vào BIOS khác nhau tùy thuộc vào nhà sản xuất motherboard Nó thường là một phím ñặc biệt như < Del > hoặc một phím chức năng như < F2 > hoặc < F10 >

Enable các mục sau ñây nếu chúng có sẵn:

Feature

Setting AMD

Setting Intel

SLAT (Second Level Address Translation)

NP (Nested Page Tables)

RVI (Rapid Virtualization Indexing)

EPT (Extended Page Tables)

Ảo hóa hỗ trợ phần cứng Hardware-assisted virtualization

SVM (hỗ trợ bộ xử lý AMD cho Ảo hóa hỗ trợ phần cứng )

Trang 9

Data Execution Prevention (DEP)

Lưu cài ñặt và khởi ñộng lại máy tính một lần nữa

ðể kích hoạt Hyper-V trong Windows:

1 Trong Control Panel, bấm Programs, và sau ñó nhấp vào Turn Windows features on or off

2 Trong hộp thoại Windows Features, click Hyper-V Danh sách các tùy chọn sẽ mở rộng

3 Trong danh sách mở rộng các tùy chọn, kích chọn ít nhất là Hyper-V Management tools, Platform, và sau ñó nhấn OK

Trang 10

.Trong trường hợp của tôi, tôi d

mới nhất của Intel i7 chip i7

nghệ Hyper-Threading của Intel

a tôi, tôi dùng bo mạch chủ Asus Sabertooth Z77

a Intel i7 chip i7-3770K phù hợp socket LGA1155 N

a Intel Tôi chỉ phải bật ON các chức năng sau :

Asus Sabertooth Z77 , bản

Nó hỗ trợ công

c năng sau :

Trang 11

Tôi vào Advanced Settings r

threading chọn Enable

3-Chạy emulator lần ñầu :

Thực tế là khi chạy Emulator l

chưa Nếu Hyper-V chưa bậ

Click Turn on Hyper-V ñ

Panel, sau ñó enable Hyper-V trong Windows

Nếu Hyper-V ñã bật nhưng b

Administrators group trên máy thì s

quyền Administrator thì thôi)

Click Retry ñể cho phép quy

Administrators group Nếu b

Tôi vào Advanced Settings rồi chọn tab Advanced và ở

u :

y Emulator lần ñầu , Emulator sẽ kiểm tra Hyper

ật thì hộp thoại sau sẽ xuất hiện :

V ñể mở hộp thoại Windows Features từ

V trong Windows

t nhưng bạn chưa phải là thành viên của local Hypertrên máy thì sẽ có hộp thoại sau xuất hiện ( n

n Administrator thì thôi)

cho phép quyền truy cập và bạn ñược phép gia nhập

u bạn ñang triển khai ứng dụng thì bạn s

Trang 12

thông báo lỗi triển khai thất bại Click OK sau ñó biên dịch lại ứng dụng trên emulator

Theo tôi bạn nên cài thêm VS 2012 ñầy ñủ là tốt hơn vì VS cho phép bạn tạo ứng dụng cho nhiều loại.Hiện nay ñã có VS 2013 Ultimate, Premium, Professional Trong tài liệu này tôi dùng VS 2012

Nếu khi mở một dự án Windows Phone 8 mà không xuất hiện Designer , thay vào ñó là thông báo lỗi thì hãy cập nhật VS 2012 Quá trình cập nhật lâu hay mau tùy theo mạng sử dụng Sau khi cập nhật xong thì khởi ñộng lại VS là ñược, tốt nhất là nên khởi ñộng lại máy sau khi cập nhật

Ngoài ra sau khi cài ñặt VS bạn có thể cài thêm các Extension có ích cho mình Chúng tôi sẽ hướng dẫn cách cài ñặt sau này

Trang 13

III: Viết ứng dụng windows phone 8 ñầu tiên

Bây giờ chúng ta ñã có các công cụ cần cài ñặt, và có thể xây dựng ứng dụng Windows Phone 8 ñầu tiên :

Dưới ñây là kế hoạch của chúng ta trong phần này :

1 Tạo ra một dự án Windows Phone App mới

2 Thực hiện một số chỉnh sửa ñơn giản, như loại bỏ các comment, thêm một

MediaControl ( ñiều khiển media ) , một nút ñiều khiển và ñặt tên cho nó

3 Viết một xử lý sự kiện(event handler) sẽ ñáp ứng với sự kiện bấm nút

4 Khi sự kiện nhấn vào nút xảy ra thì sẽ phát một tập tin âm thanh dạng wav

1 Tạo một dự án Windows Phone app mới tên là "PetSounds"

Hy vọng rằng một số bước cơ bản như tạo dự án mới, thêm tệp mới v.v ñã quen thuộc với bạn từ kinh nghiệm cá nhân.Chúng tôi không muốn mất nhiều thời gian ñể giải thích các vấn ñề ñó ðể tạo dự án mới ta làm như sau ( ta ñưa hình ảnh minh họa trước và hướng dẫn sau ) :

1 File

Trang 14

2 New

3 Project

Ở cửa sổ New project:

1/ Chọn Visual C# → Windows Phone

2/ Chọn Windows Phone App

3/ Ở mục Name ñổi tên thành PetSounds

4/ Lưu ý mục Solution name cũng tự ñộng ñổi thành PetSounds

5/ Nếu cần lưu file ở một thư mục khác thì ấn nút Browse…

6/ Nhấn nút OK

Chúng ta sẽ gặp bảng sau cho phép chọn hệ ñiều hành windows phone :

Trang 15

Với VS 2012 thì mặc ñịnh là hệ ñiều hành Windows Phone OS 8.0 Tuy nhiên nếu muốn ứng dụng có thể chạy trên hệ ñiều hành phiên bản thấp hơn ta kích vào mũi tên ñể chọn các phiên bản hệ ñiều hành thấp Kích OK

2 Xóa các comment không cần thiết ñể dễ dàng ñiều hướng thông qua code

Sau một lúc, dự án mới sẽ ñược tạo ra và nạp vào vùng Solution Explorer, file MainPage.xaml sẽ ñược hiển thị trong khu vực chính của Visual Studio Lưu ý rằng ở Windows Phone các “màn hình" xuất hiện ñược gọi là "trang", ví dụ trang MainPage.xaml Trong ứng dụng ñầu tiên , chúng tôi sẽ chỉ làm việc với 1 "trang", nhưng trong các ứng dụng khác, chúng ta sẽ thêm các trang và di chuyển giữa chúng

Tôi giả sử bạn ñã chưa bao giờ làm việc với một dự án Windows Phone mẫu nào cả MainPage.xaml và visual designer như sau:

Trang 16

Khu vực 1 là vùng visual designer : ñây là khu vực ta dùng ñể thiết kế trực quan màn hình nhờ vào thanh công cụ ( sẽ ñề cập sau )

Khu vực 2 là vùng code của file XAML ðây là khu vực ta viết file xaml bằng tay Khi thay ñổi code thì hình ảnh ở vùng 1 cũng thay ñổi theo và ngược lại nếu thay ñổi ở 1 thì code XAML cũng thay ñổi Chúng là 2 cách thể hiện, nhưng ñều chỉ chung một sự vật

Có một số các công cụ ở bên dưới và giữa 2 vùng

(bên dưới )

( giữa 2 vùng )

Trang 17

Chúng ta có thể kích vào các nút ñó ñể thấy sự thay ñổi

Ta quay lại với mục ñích ban ñầu là xóa các comment không cần thiết Ta sẽ xóa 2 vùng comment chỉ ra sau ñây:

Trang 18

Bạn có thể xóa các comment từ vùng có ký hiệu ⇠ ñến ký hiệu ⇢( dòng 23 tới 41 và từ 53 tới 59 )File XAML còn lại như sau :

Trang 19

Chúng ta sẽ tập trung vào "ContentPanel" ( khu vực thiết kế các phần tử cho màn hình ứng dụng )bắt ñầu từ dòng 36 trong suốt bài học này.Code mới cho

XAML ñược thêm vào giữa các phần tử mở <Grid> và ñóng </Grid>

3 Thêm một nút ñiều khiển vào ContentPanel và thiết kế dạng cho nó

Thêm mã sau ñây giữa các phần tử mở <Grid> và ñóng </Grid> ( dòng 39 )

Trang 20

Sau khi bạn thêm vào code :

<Button>Quack </Button>

thì khu vực visual designer ( thiết kế trực quan) thay ñổi như sau:

Màn hình có một nút trên ñó có từ “Quack”

Nút chiếm thực tế toàn bộ diện tích của màn hình ðiều ñó không làm

chúng ta hài lòng.ðể giới hạn kích thước của nút ta thêm vào thuộc tính Height

(chiều cao) và width ( chiều rộng) cho nút như sau:

Giá trị 200 chỉ 200 pixels Visual Designer cập nhật với nút nhỏ hơn :

Trang 21

Chúng ta hãy di chuyển nút ñiều khiển ñến góc trên bên trái của trang (bên dưới các Trang tiêu ñề), và làm cho màu nền của nó màu ñỏ Code của nó như sau :

Tôi cũng ñã cho < Button> một cái tên vì vậy mà tôi có thể tham khảo ñiều khiển này trong C# Việc ñặt tên cho ñiều khiển là tùy chọn Bạn chỉ ñặt tên cho những ñiều khiển này khi nào bạn muốn dùng nó bằng cách nào ñó trong C# Tôi biết tôi sẽ muốn truy cập vào nút sau này do ñó bây giờ tôi cung cấp cho nó một tên Visual designer cập nhật các thay ñổi như sau :

Trang 22

Bạn có thể thấy rằng ta có thể ựiều khiển các tắnh chất của các ựối tượng trên trang Windows Phone bằng cách thiết lập các thuộc tắnh cho nó.

4 Thêm một ựiều khiển MediaElement

Tiếp theo, hãy thêm một ựiều khiển MediaElement vào XAML, bên dưới nút

Lưu ý ta có thể thêm cac khoảng trống vào các dòng trong code của XAML

mà không làm ảnh hưởng ựến bất cứ ựiều gì Như bạn sẽ tìm hiểu sau này , Visual Studio sẽ tự ựộng thụt lề và bỏ khoảng trống giữa các ựoạn code khi biên dịch

Ngoài ra, ta ựã không thiết lập các thuộc tắnh Source của MediaElement đó

là vì tôi không có bất kỳ nguồn nào (tức là các phần tử ựa phương tiện như tập tin

âm thanh) trong dự án của tôi ựể lựa chọn

5 Thêm một tập tin wav làm assets cho dự án

Có thể dùng một file wav nào bạn có hoặc bạn ựã tải xuống các assets ựi kèm với dự án này Giải nén tập tin ựó vào một thư mục có tên C9Phone8 trong

My Documents Thư mục C9Phone8 có 3 folder là 3 assets :

Trang 23

Ta sẽ dùng assets tên là PetSounds_Assets Bên trong nó có 2 folder khác Copy folder Audio vào dự án

Các file âm thanh này sẽ ñược ñưa vào folder assets của dự án Folder assets của dự án ñược nhìn thấy trong solution explorer như sau :

Ta kéo thả folder Audio từ windows explorer vào và ñược như hình sau :

Trang 24

Có nhiều file âm thanh wav trong ứng dụng , nhưng tôi muốn dùng một file cụ thể tập tinDuck.WAV Tôi sẽ thêm file ñó như là giá trị (value) của thuộc tính Source trong phần tử MediaElement trong XAML :

Source =” / Assets/Audio/Animals/Duck.wav”

Hoặc Source =” Assets/Audio/Animals/Duck.wav” tùy theo vị trí của file xaml Lưu ý rằng ñường dẫn là tương ñối so với file MainPage.xaml nằm trong thư mục gốc của dự án:

Nếu thích ta có thể ñặt file wav ở một nơi khác, vi dụ ngay trong solution , khi ñó

ta viết : Source =”Duck.wav”

:

Tôi cũng ñã thêm 2 thuộc tính nữa : AutoPlay và Volume

Volume có giá trị 1, nghĩa là mức to nhất Nhiều thiết lập trong windows Phone API có giá trị từ 0.0 ñến 1.0 với 0.5 là giá trị trung bình

Phần lớn các giá trị này thuộc kiểu Double trong C#

Trang 25

Tiếp theo tôi muốn thông qua ựiều khiển này ựể ựiều khiển việc phát âm thanh mỗi khi ấn nút, vì vậy cần phải cho MediaControl một tên

AutoPlay có giá trị là False Nếu ựặt true , file Duck.wav sẽ chạy ngay sau khi ứng dụng tải lên.đó là ựiều tôi không muốn Tôi muốn thiết lập rằng mỗi khi tôi nhấn nút ỘQuackỢ thì file wav sẽ chạy

Chúng ta sẽ viết code cho ựiều ựó sau

6 Thêm một xử lý sự kiện cho sự kiện ấn nút

Trong phần tử <Button> XAML ta thêm thuộc ỘClick =Ợ , Intellisense của

VS ( Intellisense: tắnh năng cho phép dự ựoán lệnh trong VS, nó cung cấp một menu pop-up, mục ựắch là ựể giảm thiểu tối ựa sự sai sót trong việc gõ câu lệnh và nhớ các biến ựã ựặt, còn gọi là trợ giúp ngữ cảnh) sẽ cung cấp cho bạn lệnh ựể tạo nên một xử lý sự kiện

Tùy chọn ựược ựánh dấu ựược ựưa vào bằng cách nhấn phắm Enter trên bàn phắm

và nó tạo ra một tên cho xử lý sự kiện click:

Trang 26

Tôi muốn viết code và code ñó sẽ ñược thực hiện khi ai ñó nhấp chuột vào nút, vì vậy tôi muốn chuyển ñến phương thức PlayAudioButton_Click () và viết code C # Nhấp chuột phải vào bất cứ nơi nào trên ñó dòng code và chọn

"Navigate to Handler" từ menu ngữ cảnh:

ðiều này mở ra một tập tin gọi là MainPage.xaml.cs trong khu vực chính của Visual Studio

Nếu bạn là lính mới trong việc tạo ra các ứng dụng Windows, Web hoặc ñiện thoại trong Visual Studio, bạn sẽ nhận ra rằng có hai phần ñể các "trang" này tạo ra XAML và design view cho phép chúng ta khai báo viết code XAML Trang code có liên quan (các tập tin cs.) cho phép chúng ta xác ñịnh hành vi trong C # ðây là hai nửa của cùng một khái niệm

Trong Visual Studio, con trỏ của bạn sẽ ñược ñặt giữa ngặc mở và ñóng dấu cho phương thức PlayAudioButton_Click () :

Vì khối code này sẽ thực hiện khi nào có ai ñó chạm vào nút Quack trên

Trang 27

Ta sử dụng tên của MediaElement, QuackMediaElement, ựể truy cập vào

nó Gọi phương thức Play() ựể bắt ựầu phát, nói cách khác,chạy tập tin Quack.wav Bây giờ, hãy kiểm tra ứng dụng

7 Chạy ứng dụng

Bạn chạy ứng dụng ở chế ựộ debug như chạy các ứng dụng Console mà chúng ta tạo ra trong C #, bằng cách sử dụng nút Play trên thanh công cụ hoặc sử dụng phắm F5 trên bàn phắm của bạn

Tiếp theo là những gì bạn thấy trên Windows Phone Emulator đó là một máy ảo ựang chạy hệ ựiều hành Windows Phone 8.0 ựầy ựủ Nói cách khác, hệ ựiều hành thực sự nghĩ rằng nó ựang chạy trên một thiết bị ựiện thoại vật lý, tuy nhiên nó là "ảo" Microsoft ựã tạo ra phần mềm bắt chước phần cứng ựiện thoại Chúng tôi sẽ sử dụng ựiện thoại giả lập rộng rãi trong loạt bài này vì nó dễ dàng triển khai kiểm tra của chúng ta trên một ựiện thoại vật lý mỗi khi chúng ta muốn kiểm tra code ựã viết hay thay ựổi Bạn sẽ tìm hiểu thêm về các tắnh năng của ựiện thoại giả lập Emulator ở phần sau

Trang 28

Sử dụng chuột ñể mô phỏng việc sử dụng ngón tay gõ lên màn hình ñiện thoại Bấm vào nút Quack màu ñỏ Nếu máy tính của bạn ñược thiết lập ñể nghe

âm thanh thì bạn sẽ nghe tiếng quack của vịt thông qua tai nghe hoặc loa của bạn

ðể dừng ứng dụng, nhấn vào nút hình vuông màu ñỏ trên thanh công cụ :

Tóm tắt :

Chúng ta ñã tạo ra một ứng dụng âm thanh ñơn giản chúng ta ñã học ñược cách ñể tạo một dự án Windows Phone , làm thế nào ñể thay ñổi khai báo code XAML , thêm vài cấu hình ñiều khiển Chúng ta ñã học ñược cách ñể thêm assets cho dự án,tham khảo chúng trong code , và làm thế nào ñể thêm xử lý sự kiện ñáp ứng với các sự kiện nhất ñịnh ñược kích hoạt bởi người dùng cuối Chúng ta ñã làm quen với MainPage.xaml và trang có liên quan MainPage.xaml.cs chúng ta

Trang 29

Chúng ta học ñược cách ñể kích hoạt các phương thức ñiều khiển ñể chơi

âm thanh khi người dùng chạm vào nút Cuối cùng, chúng ta ñược biết giả lập Windows Phone như một phương tiện thử nghiệm ứng dụng của chúng ta trong một môi trường ảo

Tuy nhiên, nếu bạn là người mới lần ñầu biết về XAML thì việc có một nền tảng vững chắc về XAML là thực sự quan trọng ñối với bạn, vì vậy trong phần tiếp theo tôi muốn nói về các tính năng của XAML

Trang 30

IV- KHÁI NIỆM VỀ XAML

1.Làm việc với XAML

XAML (Extended Application Markup Language) là một ngôn ngữ ñánh dấu khai báo sử dụng ñể tạo giao diện người dùng File XAML là file mô tả cấu trúc của giao diện và những quan hệ giữa các phần tử với các nguồn dữ liệu, các phương thức nếu có của các phần tử

Mỗi phần tử XAML ñại diện cho một ñối tượng cụ thể Phần tử XAML là ñiển hình trực quan nhưng cũng có thể ñại diện cho các nguồn dữ liệu hoặc ñối tượng tùy chỉnh

Có thể xác ñịnh XAML trực tiếp trong trình soạn thảo XAML hoặc sử dụng màn hình designer Mặc dù các nhà thiết kế Visual Studio ñã cố gắng cải thiện liên tục, nhưng vẫn có một số nhiệm vụ chỉ có thể ñược thực hiện trực tiếp trong XAML Bạn sẽ trở nên quen thuộc với cả hai phương pháp tiếp cận( C# và xaml)

và sử dụng con ñường thuận tiện nhất cho từng tình huống

ðiểm khởi ñầu ñiển hình là MainPage.xamlfile , trong ñó ñịnh nghĩa giao diện người dùng ban ñầu, tức là trang ñầu tiên Phần tử gốc là PhoneApplication -Page Thuộc tính X: Class chỉ tên của lớp cơ bản của PhoneApplicationPage ñược ñịnh nghĩa trong code-behind ( Ví dụ -1).Cấu trúc cơ sở Page XAML là :

Trang 31

2.Namespace - không gian tên

Bên trong khai báo lớp bạn sẽ thấy một loạt các không gian tên XML bắt ñầu bằng xmlns ( viết tắt của xml namespace) theo sau là một dấu hai chấm, sau

ñó là tên của namespace , một dấu bằng và ñường dẫn ñến assembly mà không gian tên ñại diện Ví dụ:

xmlns: phone = "clr-namespace: Microsoft.Phone.Controls; assembly =

Microsoft.Phone"

Ở ñây, không gian XML tên phone ñại diện cho không gian tên Microsoft.Phone.Controls trong Microsoft.Phone Với không gian tên khai báo, bạn có thể sử dụng bất kỳ ñối tượng nào của không gian tên ñó trong XAML Ví dụ,bạn có thể sử dụng ñiều khiển WebBrowser từ không gian tên phone bằng cách tạo ra thẻ :

<Grid x:Name="LayoutRoot" Background="Transparent">

Không gian tên thường ñược tạo ra tự ñộng khi ñiều khiển ñược kéo từ hộp công cụ ñến designer Nếu bạn muốn tham khảo một assembly không có sẵn từ hộp công cụ thì sao? ðể khai báo một xmlns mới, gõ không gian tên XML mới, ta thêm một tên duy nhất và gõ dấu bằng IntelliSense sẽ thả xuống một danh sách các assembly tham chiếu trong dự án cho bạn lựa chọn Hình 3-1 cho thấy một không gian tên XML tên là “my ” và danh sách các assembly từ IntelliSense

Trang 32

(hình 3-1) Nếu bạn ñã tạo một lớp public MyClass trong code behind và thêm một không gian tên XML, thì sau ñó bạn có thể sử dụng không gian tên XML này trong các ñánh dấu (từ ñây về sau tôi dùng từ markup ñể chỉ ñoạn code có dùng thẻ ñánh dấu – tag – trong xaml) của xaml (xem hình 3-2) Khi gõ dấu hai chấm, IntelliSense sẽ hiển thị một danh sách các ñối tượng có thể ñược sử dụng, ở ñây là myClass

các lớp ñược tham chiếu phải là kiểu có giá trị trong markup MyClass thừa kế từ FrameworkElement, một kiểu có thể ñược sử dụng trong bố trí XAML

3.Cú pháp XAML

ðể hiểu cú pháp XAML, tốt nhất bắt ñầu từ ñơn giản và từ cách xây dựng Ở ñây ta chưa nói về các phần tử ñiều khiển ñược hổ trợ bởi XAML, tuy nhiên ta tạm thời chấp nhận là các phần tử trong phần này là có sẵn trong hộp công cụ Bạn có thể chép các ñoạn code của các ví dụ vào XAML và quan sát cách chúng hoạt

Trang 33

Bạn có thể khai báo thể hiện của một lớp trong XAML bằng cách sử dụng dấu bắt ñầu < tên loại phần tử > và kết thúc phần tử (</tên loại phần tử >) hoặc sử dụng cú pháp "tự ñóng " <tên loại phần tử/> như trong Ví dụ-2:

Ví dụ 2: Cách khai báo thể hiện của lớp

<!—dùng dấu bắt ñầu và kết thúc >

<Button></Button>

<!—dấu tự ñóng >

<Button />

Lưu ý : Bạn hãy thoải mái với cả hai: design view và Xaml views XAML

là ñại diện ñầy ñủ nhất của thiết kế trang, trong khi design view thường (nhưng không luôn luôn) nhanh hơn và dễ dàng sử dụng hơn vì nó trực quan và không phải gõ code

Thuộc tính ñối tượng ñược xác ñịnh thông qua các thuộc tính XAML ðoạn

mã dưới ñây ñịnh nghĩa một nút với thuộc tính Background là "Red"

<button Background="Red" />

Nếu thuộc tính là phức tạp hơn thì xử lý thì thế nào ? Cú pháp " thuộc tính phần tử" cho phép mỗi thuộc tính ñược thể hiện như là cách thể hiện một phần tử riêng biệt ví dụ về thuộc tính Background là tầm thường nhưng lại cho thấy cơ sở của cú pháp thuộc tính phần tử

Trang 34

<Button.Background>

<SolidColorBrush Color="Red" />

</Button.Background>

</Button>

Vài ví dụ cuối cùng thẩm ñịnh với kết quả tương tự, tạo một nút với một nền màu

ñỏ Cú pháp phần tử thuộc tính trở nên thực sự hữu ích khi thuộc tính không thể ñược thể hiện trong một chuỗi giá trị ñơn giản Ví dụ trong Ví dụ 4 ta ñịnh nghĩa một background có màu dạng LinearGradientBrush và màu nhạt dần từ màu ñen sang màu ñỏ

Ngày đăng: 06/10/2014, 07:53

HÌNH ẢNH LIÊN QUAN

Hình ảnh của 3 nút : - Lập trìn windows phone 8 tiếng việt có hướng dẫn cơ bản
nh ảnh của 3 nút : (Trang 40)
Hình sau chỉ rõ các biên khi có thiết lập uốn cong ở các mép nhờ CornerRadius : - Lập trìn windows phone 8 tiếng việt có hướng dẫn cơ bản
Hình sau chỉ rõ các biên khi có thiết lập uốn cong ở các mép nhờ CornerRadius : (Trang 63)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w