1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên

103 517 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 103
Dung lượng 3,58 MB

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

Nội dung

TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Công nghệ thông tin đang phát triển và được áp dụng rộng rãi ở nước ta như phát triển kinh doanh, thuận tiện trong quản lý nhân sự, quản lý đăng ký học phần, q

Trang 1

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ ĐĂNG KÝ ĐỀ TÀI

LUẬN VĂN CỦA GIÁO VIÊN VÀ SINH VIÊN

KHOA KHOA HỌC TỰ NHIÊN

Cần Thơ, 2015

TRƯỜNG ĐẠI HỌC CẦN THƠ

KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

Trang 2

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE QUẢN LÝ ĐĂNG KÝ ĐỀ TÀI LUẬN VĂN CỦA GIÁO VIÊN VÀ SINH VIÊN

KHOA KHOA HỌC TỰ NHIÊN

Cán bộ phản biện Ths Vũ Duy Linh Ths Lê Thị Diễm Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng Khoa Công nghệ thông tin và truyền thông, Trường Đại học Cần Thơ vào ngày 14 tháng 5 năm 2015

Mã số đề tài:

Có thể tìm hiểu luận văn tại:

-Trung tâm Học liệu, Trường Đại học Cần Thơ -Website: http://www.lrc.ctu.edu.vn/

Cần Thơ, 2015 KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN TIN HỌC ỨNG DỤNG

Trang 3

GVHD: Lê Minh Lý - 2301 Trang i SVTH: Hồ Hoàng Nha - 1111536

LỜI CẢM ƠN

Em xin chân thành cảm ơn các thầy, cô giáo trong Bộ Môn Tin Học, khoa Công Nghệ Thông Tin và Truyền Thông, trường Đại Học Cần Thơ đã truyền đạt những kiến thức, kinh nghiệm quý báu, cần thiết cho em trong những năm học tập tại trường và tạo điều kiện thực hiện đề tài luận văn này

Em xin tỏ lòng biết ơn sâu sắc đến gia đình đã tạo mọi điều kiện về vật chất, tinh thần, động viên, khích lệ và hỗ trợ trong suốt thời gian qua

Để có thể hoàn tất luận văn này em đặc biệt kính lời cảm ơn cô Lê Minh Lý, người đã tận tình hướng dẫn và giúp đỡ trong suốt thời gian thực hiện đề tài luận văn

Em cũng xin chân thành cảm ơn đến các bạn bè đã giúp đỡ tài liệu, trao đổi học thuật để có thể thực hiện đề tài luận văn

Mặc dù đã cố gắng hoàn thiện đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những sai sót Kính mong quý thầy cô tận tình chỉ bảo

Cần Thơ, ngày 14 tháng 5 năm 2015

Sinh viên thực hiện

Hồ Hoàng Nha

Trang 4

GVHD: Lê Minh Lý - 2301 Trang ii SVTH: Hồ Hoàng Nha - 1111536

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC HÌNH v

DANH MỤC BẢNG viii

DANH MỤC KÝ HIỆU VÀ VIẾT TẮT x

TÓM TẮT xi

ABSTRACT xii

CHƯƠNG 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1

1.3 PHẠM VI ĐỀ TÀI 1

1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2

1.5 HƯỚNG GIẢI QUYẾT 3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4

2.1 WPF (WINDOWS PRESENTATION FOUNDATION) 4

2.1.1 Giới thiệu WPF (Windows Presentation Foundation) 4

2.1.2 Sự ra đời của WPF (Windows Presentation Foundation) 5

2.1.3 Khả năng làm việc chung giữa người lập trình viên và người thiết kế giao diện 5

2.1.4 Kiến trúc của WPF 7

2.1.5 Ưu điểm của WPF so với các chương trình tạo giao diện khác 8

2.1.6 Các đặc điểm nổi bật của WPF 10

2.1.7 XBAP 12

2.1.8 Các thành phần của WPF 15

2.1.9 Một số ứng dụng xây dựng trên WPF 18

Trang 5

GVHD: Lê Minh Lý - 2301 Trang iii SVTH: Hồ Hoàng Nha - 1111536

2.1.10 Mô hình MVVM (Model – View – ViewModel) 19

2.2 TỔNG QUAN VỀ XAML (EXTENSIBLE APPLICATION MARKUP LANGUAGE) 20

2.2.1 Giới thiệu 20

2.2.2 Các thành phần XAML 20

2.2.3 XAML Compilation 20

2.2.4 Cơ bản về XAML 21

2.2.5 XAML namespaces 22

2.2.6 Cú pháp của XAML 24

2.3 SQL SERVER 2008 27

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 29

3.1 TỔNG QUAN VỀ HỆ THỐNG 29

3.1.1 Mô tả bài toán 29

3.1.2 Phân tích 31

3.1.3 Mô tả các ràng buộc toàn vẹn 32

3.1.4 Xây dựng bảng tầm ảnh hưởng 33

3.2 THIẾT KẾ 34

3.2.1 Sơ đồ phân rã chức năng (BFD) 34

3.2.2 Thiết kế cơ sở dữ liệu logic 37

3.2.3 Xây dựng mô hình khái niệm dữ liệu 43

3.2.4 Xây dựng các lớp thực thể 44

3.2.5 Mối quan hệ giữa các thực thể 51

3.2.6 Sơ đồ tuần tự 57

3.2.7 Mô hình cơ sở dữ liệu quan hệ 62

3.2.8 Giải thuật và lưu đồ 75

3.3 GIAO DIỆN 80

Trang 6

GVHD: Lê Minh Lý - 2301 Trang iv SVTH: Hồ Hoàng Nha - 1111536

1 Kết luận 88

2 Hướng phát triển 88TÀI LIỆU THAM KHẢO 89

Trang 7

GVHD: Lê Minh Lý - 2301 Trang v SVTH: Hồ Hoàng Nha - 1111536

DANH MỤC HÌNH

Hình 2 1 XAML hỗ trợ lập trình viên và người thiết kế làm việc chung 7

Hình 2 2 Kiến trúc WPF 8

Hình 2 3 Ứng dụng WPF độc lập quản lý sinh viên chạy trong cửa sổ riêng 11

Hình 2 4 Giao của cùng ứng dụng nêu trên dưới dạng một XBAP chạy trên Internet Explore 12

Hình 2 5 Cài đặt Net Framework runtime 3 từ Microsoft 13

Hình 2 6 vô hiệu hóa các Blocker Popup trong Internet Explorer 14

Hình 2 7: AMD Live 18

Hình 2 8: BBC Showcase 2007 19

Hình 3 1 Mô hình ER 31

Hình 3 2 Sơ đồ use case dành cho sinh viên 37

Hình 3 3 Sơ đồ use case dành cho giảng viên 38

Hình 3 4 Sơ đồ use case dành cho giảng viên quản lý 39

Hình 3 5 Sơ đồ lớp 43

Hình 3 6 Lớp giảng viên 44

Hình 3 7 Lớp sinh viên 45

Hình 3 8 Lớp đề tài luận văn 46

Hình 3 9 Lớp bộ môn 47

Hình 3 10 Tổ chuyên ngành 47

Hình 3 11 Lớp lớp học 48

Hình 3 12 Lớp lĩnh vực 49

Hình 3 13 Lớp ý kiến 49

Hình 3 14 Lớp tin tức 50

Hình 3 15 Quan hệ Sinh viên – Lớp 51

Trang 8

GVHD: Lê Minh Lý - 2301 Trang vi SVTH: Hồ Hoàng Nha - 1111536

Hình 3 17 Quan hệ Khóa học – Lớp 52

Hình 3 18 Quan hệ Sinh viên - Đề tài luận văn 52

Hình 3 19 Quan hệ Đề tài – Giảng viên 53

Hình 3 20 Quan hệ Tin tức – Giảng viên 53

Hình 3 21 Quan hệ Đề tài – Lĩnh vực 54

Hình 3 22 Quan hệ Tổ chuyên ngành– Giảng viên 54

Hình 3 23 Quan hệ Tổ chuyên ngành– Bộ môn 55

Hình 3 24 Quan hệ Tổ chuyên ngành– Bộ môn 55

Hình 3 25 Quan hệ Học vị - Giảng viên 56

Hình 3 26 Quan hệ Học hàm – Giảng viên 56

Hình 3 27 Quan hệ Giảng viên – Chức vụ 57

Hình 3 28 Tuần tự Đăng nhập 57

Hình 3 29 Tuần tự Xem đề tài 58

Hình 3 30 Tuần tự Ra đề tài 59

Hình 3 31 Tuần tự xem kết quả đăng ký đề tài 60

Hình 3 32 Tuần tự Đăng ký đề tài 61

Hình 3 33 Mô hình CSDL quan hệ 62

Hình 3 34 Giao diện đăng nhập 80

Hình 3 35 Giao diện Admin 81

Hình 3 36 Giao diện quản lý đề tài 82

Hình 3 37 Giao diện quản lý sinh viên 83

Hình 3 38 Giao diện thống kê các đề tài còn trống 84

Hình 3 39 Giao diện thông tin giảng viên 84

Hình 3 40 Giao diện tìm kiếm đề tài 85

Hình 3 41 Giao diện đăng ký đề tài của giảng viên 86

Trang 9

GVHD: Lê Minh Lý - 2301 Trang vii SVTH: Hồ Hoàng Nha - 1111536

Hình 3 42 Giao diện thông tin sinh viên 86Hình 3 43 Giao diện xem các đề tài luận văn 87Hình 3 44 Giao diện đăng ký đề tài của sinh viên 87

Trang 10

GVHD: Lê Minh Lý - 2301 Trang viii SVTH: Hồ Hoàng Nha - 1111536

Bảng 2 1 Thành phần giao diện và những công nghệ cần thiết 9

Bảng 2 2 Một số loại MIME 14

Bảng 3 1 Ràng buộc toàn vẹn 32

Bảng 3 2 Phương thức lớp Giảng viên 44

Bảng 3 3 Phương thức lớp Sinh viên 45

Bảng 3 4 Phương thức lớp Đề tài luận văn 46

Bảng 3 5 Phương thức lớp Bộ môn 47

Bảng 3 6 Phương thức lớp Tổ chuyên ngành 48

Bảng 3 7 Phương thức lớp Lớp học 48

Bảng 3 8 Phương thức lớp Lĩnh vực 49

Bảng 3 9 Phương thức lớp Ý kiến 50

Bảng 3 10 Phương thức lớp Tin tức 50

Bảng 3 11 Bảng giảng viên 63

Bảng 3 12 Bảng sinh viên 64

Bảng 3 13 Bảng đề tài luận văn 65

Bảng 3 14 Bảng đăng ký đề tài luận văn 66

Bảng 3 15 Bảng lĩnh vực 67

Bảng 3 16 Bảng ý kiến 67

Bảng 3 17 Bảng chức vụ 68

Bảng 3 18 Bảng đảm nhận 68

Bảng 3 19 Bảng học hàm 69

Bảng 3 20 Bảng được học hàm 70

Bảng 3 21 Bảng học vị 70

Bảng 3 22 Bảng có học vị 71

Trang 11

GVHD: Lê Minh Lý - 2301 Trang ix SVTH: Hồ Hoàng Nha - 1111536

Bảng 3 23 Bảng tin tức 71

Bảng 3 24 Bảng Bảng tổ chuyên ngành 72

Bảng 3 25 Bảng khóa học 73

Bảng 3 26 Bảng bộ môn 73

Bảng 3 27 Bảng lớp 74

Trang 12

GVHD: Lê Minh Lý - 2301 Trang x SVTH: Hồ Hoàng Nha - 1111536

Trang 13

GVHD: Lê Minh Lý - 2301 Trang xi SVTH: Hồ Hoàng Nha - 1111536

TÓM TẮT

Công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng

và chiều sâu Máy tính điện tử không còn là phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ở trong gia đình Do đó việc xây dựng một trang web để việc đăng ký đề tài luận văn của giảng viên và sinh viên khoa Khoa học tự nhiên là rất cần thiết

Mục tiêu của đề tài “Xây dựng website quản lý đăng ký đề tài luận văn của

giáo viên và sinh viên khoa Khoa học tự nhiên” đáp ứng các yêu cầu:

- Sinh viên đăng ký đề tài luận văn

- Giảng viên đưa ra các đề tài luận văn

- Quản lý thông tin sinh viên, giảng viên, đề tài luận văn, lĩnh vực, lớp, tổ chuyên ngành, bộ môn, tin tức

- Quản lý đăng ký các đề tài luận văn của sinh viên cũng như giảng viên

- Thống kê các đề tài luận văn đã hoàn thành và chưa hoàn thành

Luận văn được tổ chức theo cấu trúc như sau:

Chương 1: Tổng quan trình bày về những vấn đề về hiện trạng, phạm vi,

phương pháp nghiên cứu và hướng giải quyết bài toán

Chương 2: Cơ sở lý thuyết giới thiệu về WPF Giới thiệu về ngôn ngữ XAML

và cách sử dụng ngôn ngữ XAML Tổng về về hệ quản trị cơ sở dữ liệu SQL

Server 2008

Chương 3: Nội dung và kết quả nghiên cứu, trong chương này trình bày về ba

phần: Trình bày tổng quan hệ thống bao gồm mô tả bài toán và phân tích bài toán Thiết kế và xây dựng các mô hình CSDL của bài toán Xây dựng giao diện của hệ

thống và hướng dẫn sử dụng hệ thống dành cho người dùng

Kết luận: Tổng kết các phần đã thực hiện được và các phần chưa thực hiện

được Đưa ra các hướng phát triển hệ thống

Trang 14

GVHD: Lê Minh Lý - 2301 Trang xii SVTH: Hồ Hoàng Nha - 1111536

Information technology has achieved strong growth in both width and depth Electronic computer is no longer a rare thing means which is increasingly becoming a tool for work and recreation of people, not only in the workplace but also in the family So building a website for the registration of thesis students and faculty of college of natural sciences is essential

The goal of the project "Building management website registered thesis of

teachers and students of Natural Sciences" meet the following requirements:

- Students registered thesis

- Teachers launched the thesis

- Information Management of student, teacher, thesis, field, class, professional organizations, departments, news

- Management of thesis students and teachers

- Statistics of the thesis was finished and unfinished

Organized thesis is structured as follows:

Chapter 1: Overview of the issues presented on the current state, scope,

methodology and direction of solving the problem

Chapter 2: Theoretical Foundations to presents an overview of WPF

Introduce about XAML and how to use XAML Overview of management system database SQL Server 2008

Chapter 3: The contents and findings presented in this chapter presents three

parts: Presents an overview of the system consists of a problem description and problem analysis Design and construction of database model of the problem System interface and instruction for use system for users

Conclusion: Summary of section already been done and the unexecuted

section Give the system development

Trang 15

GVHD: Lê Minh Lý - 2301 Trang 1 SVTH: Hồ Hoàng Nha - 1111536

CHƯƠNG 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Công nghệ thông tin đang phát triển và được áp dụng rộng rãi ở nước ta như phát triển kinh doanh, thuận tiện trong quản lý nhân sự, quản lý đăng ký học phần, quản lý sổ sách, các ứng dụng phục vụ trong công nghiệp và y học để tiết kiệm thời gian cho người sử dụng và tiết kiệm chi phí

Hiện nay, các trường đại học đã áp dụng công nghệ thông tin vào hệ thống quản lý nhằm nâng cao chất lượng đào tạo, tiết kiệm thời gian và chi phí Xây dựng môi trường làm việc, nghiên cứu và học tập thuận tiện cho các sinh viên và cán bộ

Chính vì vậy việc đăng ký đề tài luận văn của khoa Khoa học tự nhiên cũng

phải được tin học hóa để nâng cao chất lượng quản lý và nắm bắt về thời gian

Đề tài: “Xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa KHTN” là ví dụ minh họa để giải quyết vấn đề trên

1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Do trước nay việc đăng ký đề tài luận văn của khoa Khoa học tự nhiên đều thực hiện thông qua việc gặp mặt trực tiếp hay qua các thông tin liên lạc của giảng viên và sinh viên nên khoa vẫn chưa có chương trình quản lý đăng ký đề tài luận văn

Đã có một số đề tài liên quan đến quản lý đăng ký đề tài luận văn nhưng chưa

có đề tài nào sử dụng ngôn ngữ WPF để đưa lên trình duyệt internet

Vì vậy em xây dựng website quản lý này nhằm phục vụ cho việc tương tác giữa sinh viên và giảng viên trở nên dễ dàng, tiết kiệm thời gian và độ chính xác cao hơn

Đề tài phải đảm bảo các chức năng sao:

 Đối với trang quản trị

- Phân quyền người dùng

Trang 16

GVHD: Lê Minh Lý - 2301 Trang 2 SVTH: Hồ Hoàng Nha - 1111536

- Cập nhật thông tin các đề tài luận văn

- Quản lý việc đăng ký đề tài luận văn của giảng viên và sinh viên

- Cập nhật lĩnh vực, bộ môn, tổ chuyên ngành, lớp

- Cập nhật tin tức – sự kiện

- Thống kê danh sách các đề tài luận văn còn trống

- Thống kê các đề tài luận văn chưa hoàn thành và đã hoàn thành

 Đối với trang người dùng

- Xem thông tin chi tiết các đề tài luận văn

- Đăng ký đề tài luận văn

- Xem thông tin đăng ký đề tài luận văn

Phạm vi yêu cầu kỹ thuật

Trong quá trình sử dụng hệ thống phải đảm bảo các yêu cầu sau:

- Bảo mật thông tin hệ thống và thông tin người dùng

- Đảm bảo được tính chính xác và các ràng buộc toàn vẹn dữ liệu

- Giao diện thân thiện, chuyên nghiệp giúp người dùng thao tác dễ dàng

- Hệ thống truy xuất nhanh, dễ mở rộng và phát triển

1.4 PHƯƠNG PHÁP NGHIÊN CỨU

Về lý thuyết:

- Tìm hiểu và phân tích hệ thống thông tin

Trang 17

GVHD: Lê Minh Lý - 2301 Trang 3 SVTH: Hồ Hoàng Nha - 1111536

- Tìm hiểu về mô hình ứng dụng web với WPF (Windows Presentation

Foundation)

- Tìm hiểu hệ thống bằng cách khảo sát thực tế hoạt động đăng ký các đề tài

luận văn của sinh viên và giảng viên

Về chương trình:

- Dùng phần mềm Visual Studio 2012 làm công cụ hỗ trợ phát triển ứng dụng

- Dùng IIS8 để làm máy chủ web

- Dùng phần mềm PowerDesigner 15 để vẽ sơ đồ phân tích thiết kế hệ thống

Về quản trị cơ sở dữ liệu:

- Sử dụng cơ sở dữ liệu từ SQL Sever để nhập dữ liệu ban đầu

Về thiết kế hệ thống: Thiết kế cơ sở dữ liệu, giao diện với người dùng, thiết

kế các chương trình xử lý của hệ thống, viết báo cáo kết quả làm được

Thử nghiệm: Chạy thử, chỉnh sửa các lỗi phát sinh và hoàn thiện hệ thống,

viết tài liệu hướng dẫn sử dụng

Trang 18

GVHD: Lê Minh Lý - 2301 Trang 4 SVTH: Hồ Hoàng Nha - 1111536

Ở chương này, em sẽ tìm hiểu những nội dung cơ bản về hệ quản trị cơ sở dữ

liệu SQL Sever và WPF (Windows Presentation Foundation)

2.1 WPF (WINDOWS PRESENTATION FOUNDATION)

2.1.1 Giới thiệu WPF (Windows Presentation Foundation)

WPF viết tắt của Windows Presentation Foundation, là hệ thống API (giao diện lập trình ứng dụng) mới hỗ trợ việc xây dựng giao diện đồ hoạ trên nền Windows Được xem như thế hệ kế tiếp của WinForms Windows Presentation Foundation (WPF) còn được gọi dưới tên mã là Avalon, là một hệ thống thư viện con trong bộ Net Framework và được liên kết dưới dạng Extensible Application Markup Language (XAML) WPF tăng cường khả năng lập trình giao diện của lập trình viên bằng cách cung cấp các API cho phép tận dụng những lợi thế về đa phương tiện hiện đại Một ứng dụng WPF có thể được triển khai trên desktop hoặc thông qua trình duyệt web Là một bộ phận của NET Framework 3.0, WPF đã được sử dụng trong Windows Vista, Windows Server 2008, Windows Server

2003, Windows XP Service Pack 2 và trên các hệ điều hành sau này

WPF được xây dựng nhằm vào ba mục tiêu cơ bản:

Cung cấp một nền tảng thống nhất để xây dựng giao diện người dùng

Cho phép người lập trình và người thiết kế giao diện làm việc cùng nhau một cách dễ dàng

Cung cấp một công nghệ chung để xây dựng giao diện người dùng trên cả Windows và trình duyệt Web

WPF được coi như là công nghệ để tạo ra giao diện cho những ứng dụng Window của thế hệ tiếp theo

Được xây dựng trên NET Framework, WPF cung cấp môi trường phát triển ứng dụng trên hệ điều hành Windows Lợi thế với những gì có sẵn trong NET Framework của Microsoft cho phép các lập trình viên đã làm quen với công nghệ NET có thể nhanh chóng phát triển ứng dụng với WPF [4, tr.2]

Trang 19

GVHD: Lê Minh Lý - 2301 Trang 5 SVTH: Hồ Hoàng Nha - 1111536

2.1.2 Sự ra đời của WPF (Windows Presentation Foundation)

WPF được phát hành chính thức vào tháng 11 năm 2006

Đi đến tương lai bằng cái nhìn từ quá khứ, vào năm 2001 Microsoft cho ra đời một tâp hợp các cộng nghệ nền tảng, được gọi với tên chung là NET Hầu hết các công nghệ này đều đưa ra các mô hình lập trình mới, hoàn toàn chưa từng xuất hiện trước đó Ví dụ như ASP.NET Web Forms đưa ra mô hình lập trình Windows truyền thống lên thế giới Web, ADO.NET định nghĩa các class tổng quát như Connection, Command, Dataset để các developer thừa kế từ chúng,…

Tuy nhiên công nghệ mà những nhà phát triển trung thành nhất của Misrosoft mong muốn nhìn thấy bước đột phá của Windows Forms lại chẳng có gì thay đổi Trước khi WPF ra đời, việc tạo giao diện người dùng theo những yêu cầu mô

tả thì đòi hỏi phải sử dụng rất nhiều công nghệ khác nhau Để tạo Form, các Control và các tính năng kinh điển khác của một giao diện đồ họa Windows, thông thường lập trình viên sẽ chọn Windows Forms, một phần của NET Framwork Nếu cần hiển thị văn bản, Windows Forms có một số tính năng hỗ trợ văn bản trực tiếp hoặc có thể sử dụng Adobe’s PDF để hiện thị văn bản có khuôn dạng cố định Đối với hình ảnh và đồ họa 2 chiều , lập trình viên sẽ dùng GDI+, một mô hình lập trình riêng biệt có thể truy nhập qua Windows Forms Để hiển thị video hay phát

âm thanh, lập trình viên lại phải sử dụng Windows Media Player, và với đồ họa 3 chiều lại phải dùng Direct3D, một thành phần chuẩn khác của Windows Tóm lại, quá trình phát triển giao diện người dùng theo yêu cầu trở nên phức tạp, đòi hỏi lập trình viên quá nhiều kỹ năng công nghệ

WPF ra đời chính là để xây dựng một nền tảng chung giải quyết những thách thức đã nêu trên WPF cung cấp nhiều tính năng lập trình giao diện trong cùng một công nghệ đơn giản nhất Điều này giúp cho quá trình tạo giao diện người dùng trở nên dễ dàng hơn

2.1.3 Khả năng làm việc chung giữa người lập trình viên và người thiết kế giao diện

Để có giao diện người thiết kế sử dụng một công cụ đồ họa để tạo ra những ảnh tĩnh về cách bố trí giao diện trên màn hình Những hình ảnh này sau đó được chuyển tới lập trình viên với nhiệm vụ tạo ra mã để hiện thực hóa giao diện đã thiết kế Đôi lúc vẽ ra một giao diện thì đơn giản với người thiết kế, nhưng để biến

Trang 20

GVHD: Lê Minh Lý - 2301 Trang 6 SVTH: Hồ Hoàng Nha - 1111536

quan điểm có thể khiến lập trình viên không đáp ứng được đầy đủ yêu cầu từ người thiết kế Do vậy, cần một cách thức để hai nhóm công tác độc lập này có thể làm việc với nhau mà không làm thay đổi chất lượng của giao diện đã thiết kế

Để thực hiện được điều này, WPF đưa ra ngôn ngữ đặc tả eXtensible Application Markup Language (XAML) XAML định ra một tập các phần tử XML như Button, TextBox, Label…, nhằm định nghĩa các đối tượng đồ họa tương ứng như nút bấm, hộp thoại, nhãn…, và nhờ đó cho phép mô tả chính xác diện mạo của giao diện người dùng Các phần tử XAML cũng chứa các thuộc tính, cho phép thiết lập nhiều tính chất khác nhau của đối tượng đồ họa tương ứng

Ví dụ: đoạn mã sau sẽ tạo ra một nút bấm màu lục có nhan đề “Mau”

Trang 21

GVHD: Lê Minh Lý - 2301 Trang 7 SVTH: Hồ Hoàng Nha - 1111536

Hình 2 1 XAML hỗ trợ lập trình viên và người thiết kế làm việc chung 2.1.4 Kiến trúc của WPF

WPF nằm trong NET Framework, nên các ứng dụng trong WPF có thể kết hợp các thành phần khác có trong thư viện lớp NET Framework

WPF sử dụng kiến trúc nhiểu tầng (Multilayer), tầng trên cùng tương tác với dịch vụ high-level được viết bằng đoạn mã quản lí (Managed code) như C# Sau

đó dịch các đối tượng NET thành các kết cấu Direct3D, sử dụng lower-level là milcore.dll là thành phần sinh ra mã máy trực tiếp (Unmanaged code) Milcore.dll

là unmanaged code bởi vì milcore.dll tương tác chặt chẽ với Direct3D để tăng hiệu suất xử lí nhanh chóng

Trang 22

GVHD: Lê Minh Lý - 2301 Trang 8 SVTH: Hồ Hoàng Nha - 1111536

- WindowBase.dll nắm giữ các thành phần cơ bản để có khả năng bên ngoài

sử dụng lại WPF như DispatcherObject và DependencyObject

- Milcore.dll là nhân của hệ thống trình diễn (render) WPF, mặc dù là thành phần của WPF, milcore còn là thành phần cốt yếu của Windows Vista

- Direct3D là API low-level mang tất cả các đồ họa trong WPF được trình diễn ra

2.1.5 Ưu điểm của WPF so với các chương trình tạo giao diện khác

WPF cung cấp nhiều tính năng lập trình giao diện trong cùng một công nghệ đơn nhất Điều này giúp cho quá trình tạo giao diện người dùng trở nên dễ dàng hơn đáng kể

Trang 23

GVHD: Lê Minh Lý - 2301 Trang 9 SVTH: Hồ Hoàng Nha - 1111536

Windows Forms

Windows Forms/GDI+

PDF Direct3D Windows Media

Bảng 2 1 Thành phần giao diện và những công nghệ cần thiết

Việc tạo ra một giao diện người dùng hiện đại không chỉ là việc hợp nhất các công nghệ sẵn có khác nhau Nó còn thể hiện ở việc tận dụng lợi điểm của card đồ họa hiện đại Để giải phóng những hạn chế của đồ họa bitmap, WPF dựa hoàn toàn trên đồ họa vector, cho phép hình ảnh tự động thay đổi kích thước để phù hợp với kích thước và độ phân giải của màn hình mà nó được hiển thị

Bằng việc hợp nhất tất cả các công nghệ cần thiết để tạo ra một giao diện người dùng vào một nền tảng đơn nhất, WPF đơn giản hóa đáng kể công việc của lập trình viên giao diện Với việc yêu cầu lập trình viên học một môi trường phát triển duy nhất, WPF góp phần làm giảm chi phí cho việc xây dựng và bảo trì ứng dụng Bằng việc cho phép tích hợp đa dạng nhiều cách biểu diễn thông tin trên giao diện người dùng, WPF góp phần nâng cao chất lượng và theo đó là giá trị công việc bằng cách thức người dùng tương tác với ứng dụng trên Windows

Trang 24

GVHD: Lê Minh Lý - 2301 Trang 10 SVTH: Hồ Hoàng Nha - 1111536

Để hình dung dễ dàng giao diện người dùng (User Interface – UI), WPF giới thiệu ngôn ngữ mới dựa trên XML, được gọi là XAML XAML cho phép ứng dụng tự động phân tích cú pháp và thao tác giao diện người dùng ở một trong hai yếu tố thời gian thiết kế hoặc thời gian khởi động Nó dùng mô hình code – behind, lập trình tương tự ASP.NET, cho phép người thiết kế và người phát triển làm việc song song và liền mạch công việc của mình

WPF có nhiều đặc điểm hấp dẫn và cung cấp những thay đổi mạnh mẽ cho công nghệ lập trình giao diện Dưới đây sẽ là những hỗ trợ mà công nghệ WPF mang lại cho người lập trình viên:

Hỗ trợ video, audio: Không giống như các công nghệ trước đó như Winform

có sự hạn chế trong việc hỗ trợ để chạy các file Audio và Video WPF hỗ trợ chạy tất các file mà Window Meida Player có thể đọc được và cho phép bạn có thể chạy đồng thời một hoặc nhiều file Đặc biệt WPF cung cấp các tool cho phép bạn tích hợp các các nội dung video vào giao diện và cả các hiệu ứng 3D (ví dụ hiển thị video trên các mặt của hình hộp 3D)

Hiển thị ảnh vector thay vì ảnh bitmap mang lại cho công nghệ WPF khả năng hiện thị linh hoạt với nhiều kích thước khác nhau mà không lo làm “vỡ” hình ảnh những đối tượng đồ họa

Hiển thị văn bản linh hoạt: WPF có khả năng cung cấp những khả năng để hiện thị văn bản một cách phong phú ở bất cứ đâu Bạn có thể kết hợp văn bản với các đối tượng khác, hay có thể sử dụng các đặc điểm mới để hiện thị một lượng lớn văn bản một cách dễ đọc nhất

Đồ họa phong phú: Thay vì làm việc với những điểm ảnh, bạn được có thể làm việc trực tiếp với những đối tượng hình học cơ bản: hình chữ nhật, hình ellipese Bạn cũng có những đặc điểm mới như điều khiển độ trong suốt, độ mờ, cùng các hiệu ứng 3D

Các hiệu ứng Animation: Bạn có thể sử dụng bộ tính thời gian timer để vẽ lại hình, nhưng với WPF đặc điểm đã được tích hợp thành một phần của Framework,

từ đó bạn có thể định nghĩa những hiệu ứng chuyện động cho các đối tượng đồ họa khác nhau

Trang 25

GVHD: Lê Minh Lý - 2301 Trang 11 SVTH: Hồ Hoàng Nha - 1111536

Công nghệ chung cho giao diện trên Windows và trên trình duyệt Web:

Trong thời đại bùng nổ của Internet, các ứng dụng Web ngày càng phát triển Việc trang bị giao diện người dùng có đầy đủ tính năng như một ứng dụng desktop

sẽ thu hút nhiều người dùng và do đó đã làm giá trị của doanh nghiệp Tuy nhiên,

để tạo giao diện vừa hoạt động được trên desktop và trên cả trình duyệt Web, đòi hỏi phải sử dụng nhiều công nghệ hoàn toàn khác nhau, giống như việc xây dựng

2 giao diện hoàn toàn độc lập Điều này tạo ra chí phí không cần thiết để phát triển giao diện

WPF là một giải pháp cho vấn đề này Công nghệ chung cho giao diện trên Windows và trên trình duyệt Web: Lập trình viên có thể tạo ra một ứng dụng trình duyệt XAML (XBAP) sử dụng WPF chạy trên Internet Explore Trên thực

tế, cùng đoạn code này có thể được dùng để sinh ứng dụng WPF chạy độc lập trên Windows [4,tr.7-8]

Hình 2 3 Ứng dụng WPF độc lập quản lý sinh viên chạy trong cửa sổ riêng

Trang 26

GVHD: Lê Minh Lý - 2301 Trang 12 SVTH: Hồ Hoàng Nha - 1111536

Hình 2 4 Giao của cùng ứng dụng nêu trên dưới dạng một XBAP chạy trên

Internet Explore

Mỗi ứng dụng XBAP được download khi cần từ một Web server, nên nó phải tuân theo những yêu cầu về an ninh khắt khe hơn đối với một ứng dụng Windows độc lập Theo đó, XBAP chạy trong phạm vi sandbox an ninh do hệ thống an ninh truy nhập mã của NET Framework cung cấp XBAP chỉ chạy với các hệ thống Windows có cài đặt WPF và chỉ với Internet Explore phiên bản 6 và

7 trở lên

2.1.7 XBAP

Giới thiệu về XBAP

XBAP (XAML Application Browser) là một công nghệ Windows mới được sử dụng để tạo ra các ứng dụng Internet trở nên phong phú.Trong khi các ứng dụng Windows thường được biên soạn thành một tập tin exe thì các ứng dụng trình

duyệt được biên dịch với phần xbap mở rộng và có thể chạy bên trong Internet

Explorer

Các ứng dụng XBAP được chạy trong một sandbox bảo mật để ngăn chặn các ứng dụng không đáng tin cậy từ việc kiểm soát các local system resources

Trang 27

GVHD: Lê Minh Lý - 2301 Trang 13 SVTH: Hồ Hoàng Nha - 1111536

Cách triển khai ứng dụng XBAP

Các yêu cầu để chạy ứng dụng XBAP

Đối với Windows: cần phải cài đặt Net Framework runtime 3 từ Microsoft để chạy XBAP

Để ứng dụng XBAP có thể chạy trên Internet Explorer:

- Tools Internet Options từ menu

- Chọn Security Tab và chọn Internet Zone

- Chọn Custom Level

- Enable Loose XAML, XAML browser applications, XPS documents

Hình 2 5 Cài đặt Net Framework runtime 3 từ Microsoft

Nếu xuất hiện lỗi "Trust not granted" khi chạy ứng dụng : cần phải vô hiệu hóa các Blocker Popup:

Trang 28

GVHD: Lê Minh Lý - 2301 Trang 14 SVTH: Hồ Hoàng Nha - 1111536

Hình 2 6 vô hiệu hóa các Blocker Popup trong Internet Explorer

Triển khai ứng dụng XBAP:

Có thể triển khai các ứng dụng XBAP bằng buid > Publish command của Visual Studio 2005 trở lên Đối với các XBAP để làm việc trên các trình duyệt, cần phải chắc chắn rằng máy chủ của đã đăng ký một số loại MIME

application/manifest manifest application/x-ms-xbap xbap application/octet-stream deploy application/x-ms-application application

application/vnd.ms-xpsdocument xps application/xaml+xml xaml

Bảng 2 2 Một số loại MIME

Trang 29

GVHD: Lê Minh Lý - 2301 Trang 15 SVTH: Hồ Hoàng Nha - 1111536

vụ chung cho mọi ứng dụng, chẳng hạn như các biến lưu trữ trạng thái của ứng dụng, các phương thức chuẩn để kích hoạt hay kết thúc ứng dụng

Layout và Control

WPF sắp đặt các thành phần khác nhau trên giao diện thông qua panel Mỗi panel có thể chứa các thành phần con, bao gồm các control như nút bấm hay hộp thoại, hay bản thân những panel khác

Trang 30

GVHD: Lê Minh Lý - 2301 Trang 16 SVTH: Hồ Hoàng Nha - 1111536

Mỗi template tương tự như một style, và ở hai dạng:

- Template cho dữ liệu: sử dụng thành phần DataTemplate của XAML để thiết lập một nhóm thuộc tính hiển thị của dữ liệu như màu sắc, phương thức căn lề

- Template cho control: sử dụng thành phần ControlTemplate của XAML

để định ra diện mạo của một control

Text

Với WPF chất lượng text hiển thị trên màn hình tương đương trên giấy in Cụ thể, WPF hỗ trợ các font chữ OpenType chuẩn, cho phép sử dụng các thư viện font đã có WPF cũng hỗ trợ công nghệ font chữ mới ClearType, cho phép hiển thị các ký tự mịn hơn đối với mắt người, đặc biệt là trên màn hình tinh thể lỏng (LCD)

Văn bản

WPF hỗ trợ ba dạng văn bản: văn bản cố định (fixed), văn bản thích nghi (flow/adaptive) và văn bản XPS (XML Paper Specification) Kèm theo đó, WPF cũng cung cấp các dịch vụ để tạo, xem, quản lý, ghi chú, đóng gói và in ấn văn bản

- Văn bản cố định trông không đổi bất kể chúng được hiển thị trên màn hình hay in ra máy in.Trong WPF, những văn bản dạng này được định nghĩa bằng phần tử FixedDocument trong XAML và được hiển thị bằng control DocumentViewer

- Văn bản thích nghi thường chỉ dùng để đọc trên màn hình, và có khả năng

tự động thay đổi các thuộc tính hiển thị ảnh và text cho phù hợp với kích thước cửa số hay các yếu tố môi trường Để hiển thị văn bản thích nghi, WPF sử dụng một số control khác nhau, chẳng hạn như FlowDocumentPageViewer, FlowDocumentReader…

Trang 31

GVHD: Lê Minh Lý - 2301 Trang 17 SVTH: Hồ Hoàng Nha - 1111536

- PS là một định dạng mở theo đặc tả XML, có khả năng sử dụng trên nhiều nền tảng khác nhau Văn bản XPS được hiển thị bằng DocumentViewer

Hình ảnh

Hình ảnh được hiển thị nhờ control Image, Control Image có thể hiển thị hình ảnh lưu trữ dưới nhiều khuôn dạng khác nhau, bao gồm JPEG, BMP, TIFF, GIF

và PNG Nó cũng có thể hiển thị hình ảnh dạng Windows Media Photo mới được

sử dụng trong Windows Vista ví dụ:

<ImageWidth="200"Source="C:\Documents and Settings \My Pictures\Ava.jpg" />

Video và Âm thanh

WPF cung cấp tính năng hỗ trợ cả hai dạng media này thông qua phần tử MediaElement Control này có thể chơi các định dạng video WMV, MPEG và AVI, và nhiều định dạng âm thanh khác nhau Việc lập trình để chạy một đoạn video trở nên khá đơn giản

Ví dụ:

<MediaElementSource="C:\Documents and Settings\My Videos\Ruby.wmv" />

Đồ họa hai chiều

Đối với đồ họa 2 chiều, WPF định ra nhóm control của các khuôn hình (shapes) mà ứng dụng có thể sử dụng để tạo nên hình ảnh, gồm:

- Line: vẽ đường thẳng qua 2 điểm

- Elllipse: vẽ ellipse

- Rectangle: vẽ chữ nhật

- Polygon: vẽ đa giác

- Polyline: vẽ đa giác mở

Trang 32

GVHD: Lê Minh Lý - 2301 Trang 18 SVTH: Hồ Hoàng Nha - 1111536

cho phép ánh sáng tới từ một hướng xác định Lớp AmbientLight tạo ra ánh sáng đồng đều trên mọi vật trong cảnh PerspectiveCamera cho phép phân định khoảng cách từ vị trí nhìn tới vật thể và kiểu nhìn phối cảnh (tuân theo luật gần xa)

Móc nối dữ liệu

Trong các ứng dụng WPF, việc lưu trữ và truy xuất dữ liệu đã được thực hiện bởi các công nghệ như Microsoft SQL Server và ADO.NET Sau khi dữ liệu được truy xuất và tải vào các đối tượng quản lý dữ liệu trên ứng dụng Cơ chế móc nối

dữ liệu trong WPF còn cung cấp thêm những tính năng như xác thực tính hợp lệ, sắp xếp, lọc và phân nhóm dữ liệu Có hai công việc WPF thực hiện: [4,tr.9-15] 1) Sao chép dữ liệu từ các đối tượng quản lý dữ liệu vào các control trên giao diện, qua đó, dữ liệu có thể được hiển thị hay sửa đổi

2) Đảm bảo rằng những thay đổi trên dữ liệu từ các control được cập nhật trở lại các đối tượng quản lý dữ liệu

2.1.9 Một số ứng dụng xây dựng trên WPF

Hình 2 7: AMD Live

Trang 33

GVHD: Lê Minh Lý - 2301 Trang 19 SVTH: Hồ Hoàng Nha - 1111536

Hình 2 8: BBC Showcase 2007

2.1.10 Mô hình MVVM (Model – View – ViewModel)

Kể từ khi Microsoft giới thiệu hai nền tảng phát triển ứng dụng mới là WPF và Silverlight, đã có nhiều thay đổi trong việc xử lý sự kiện và binding dữ liệu, giữa các tầng của ứng dụng với nhau Điều này làm nảy sinh ra nhu cầu phải có một mô hình phát triển ứng dụng mới phù hợp hơn

Do đó, Model – View – ViewModel (MVVM) pattern ra đời và ngày càng trở nên phổ biến

View: là phần giao diện của ứng dụng để hiển thị dữ liệu và nhận tương tác của

người dùng Một điểm khác biệt so với các ứng dụng truyền thống là View trong

mô hình này tích cực hơn Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng binding, command

Model: là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự

Trang 34

GVHD: Lê Minh Lý - 2301 Trang 20 SVTH: Hồ Hoàng Nha - 1111536

để thực hiện data binding, command

Một điểm cần lưu ý là trong mô hình MVVM, các tầng bên dưới sẽ không biết được các thông tin gì về tầng bên trên nó

2.2 TỔNG QUAN VỀ XAML (EXTENSIBLE APPLICATION MARKUP LANGUAGE)

2.2.1 Giới thiệu

XAML viết tắt là eXtensible Application Markup Language, là ngôn ngữ đặc

tả dựa trên XML được dùng để định nghĩa các đối tượng và thuộc tính của chúng, mối quan hệ cũng như sự tương tác XAML đặc biệt được dùng trong công nghệ NET Framework 3.0 (trong đó có WPF) như ngôn ngữ đặc tả giao diện người dùng (User Interface – UI) nhằm mô tả cấu trúc và đặc tính của các phần tử UI, sự liên kết dữ liệu, các liên kết và các đặc tính khác XAML là mô hình có tính đột phá trong lĩnh vực tính toán trên Internet được chấp nhận rộng rãi trong hệ thống

và bởi nhiều nhà cung cấp phần mềm

2.2.2 Các thành phần XAML

Có nhiều thành phần khác trong XAML:

WPF XAML: bao gồm các yếu tố mô tả nội dung WPF, ví dụ như vecto đồ họa, control và các tài liệu, là những ứng dụng quan trọng của XAML

XPS XAML: là một phần của WPF XAML cái định nghĩa một thể hiện XML cho các tài liệu điện tử được định dạng XML Nó được xuất bản bởi tiêu chuẩn XML Paper Specification (XPS) riêng biệt

Silverlight XAML là một nhóm của WPF XAML đó là dành cho các ứng dụng Silverlight Silverlight là một plug-in trình duyệt cross-platform cho phép tạo các trang web phong phú nội dung với hai chiều đồ họa, hình ảnh động, âm thanh và video Tham khảo tại website http://silverlight.net

WF XAML bao gồm các yếu tố mô tả nội dung Windows Workflow Foundation (WF)

2.2.3 XAML Compilation

Những nhà tạo ra WPF biết rằng XAML không chỉ cần thiết để giải quyết vấn

đề về thiết kế nó cũng cần phải nhanh và mặc dù dựa trên định dạng XML linh

Trang 35

GVHD: Lê Minh Lý - 2301 Trang 21 SVTH: Hồ Hoàng Nha - 1111536

hoạt và dễ dàng chuyển đổi qua các công cụ khác, các nền tảng nhưng chúng không phải lúc nào cũng hiệu quả nhất XML được thiết kế để có thể hợp lý, đọc, không phức tạp

Các thẻ của WPF sử dụng BAML (Binary Application Markup Language) BAML là một thể hiện nhị phân của XAML Khi biên dịch một WPF ứng dụng trong Visual Studio, tất cả file XAML được chuyển đổi thành BAML và sau đó được nhúng vào như là một tài nguyên vào DLL hoặc exe cuối cùng BAML là tokenized, có nghĩa là với số lược bit quá lớn của XAML được thay thế bằng thẻ ngắn hơn, làm BAML nhỏ đi đáng kể, làm tối ưu hóa cũng là một cách làm cho chương trình nhanh hơn lúc runtime

2.2.4 Cơ bản về XAML

Tất cả các element trong một document XAML ánh xạ của một class NET Tên của các elecmet chính xác với tên của lớp Ví dụ, element <Button> tạo ra một đối tượng nút nhấn

Giống như các tài liệu XML, có thể lồng một element trong một element khác, XAML linh hoạt cho mỗi class quyết định cách xử lí trong trường hợp lồng nhau, nếu có một button trong một grid, thì giao diện gồm một grid chứa một button bên trong

Bạn có thể thiết lập các property của mỗi class thông qua các attribute (thuộc tính) Tuy nhiên, trong một vài trường hợp, attribute không đủ khả năng xử lí một công việc nào đó Để giải quyết vấn đề này, chúng ta sẽ dùng một cú pháp đặc biệt

Trước khi tiếp tục, chúng ta sẽ xem qua một ví dụ cơ bản về XAML Ví dụ này

sẽ tạo ra một blank windows trong Visual Studio:

Trang 36

GVHD: Lê Minh Lý - 2301 Trang 22 SVTH: Hồ Hoàng Nha - 1111536

control khác lên Có 3 loại top-level element, đó là:

Trang 37

GVHD: Lê Minh Lý - 2301 Trang 23 SVTH: Hồ Hoàng Nha - 1111536

Xmlns attribute là một thuộc tính đặc biệt của XML Bạn có thể thấy trong mọi tài liệu WPF XAML bạn tạo ra đều có 2 namespace:

http://schemas.mcrosoft.com/winfx/2006/xaml/presentation là core namespace của WPF Nó chứa tất cả các class trong WPF, bao gồm các controls bạn dùng để xây dựng giao diện Trong ví dụ trên, namespace này được khai báo không có prefix, như vậy nó trở thành default namespace cho toàn bộ tài liệu Nói cách khác, mọi element đều được tự động đặt trong namespace này, ngoại trừ một vài khai báo đặc biệt do bạn thiết lập

http://schemas.microsoft.com/winfx/2006/xaml là XAML namespace Nó

bao gồm các tính năng khác nhau của XAML cho phép bạn can thiệp vào cách biên dịch tài liệu của mình Namespace này được khai báo với prefix x Nghĩa là bạn có thể áp dụng nó bằng cách đặt namespace prefix trước tên của thẻ (<x:ElementName>)

Như bạn thấy, tên của XML namespace không trùng với bất kì namespace nào trong NET Có một vài lí do để giải thích cho điều này Theo quy ước, XML namespace thường là các URls (như trong ví dụ này) Các URls này giống như đang trỏ vào một trang web nào đó, nhưng thực tế không phải vậy Chuẩn URls được sử dụng với mục đích tránh xảy ra tình trạng các tổ chức, doanh nghiệp khác

vô tình tạo ra một loại ngôn ngữ khác tuân theo chuẩn XML với namespace giống nhau Ở đây, bởi vì tên miền schemas.microsoft.com thuộc quyền sử hữu của Microsoft, do đó chỉ có Microsoft sử dụng nó để đặt tên trong XML namespace XML trong XAML lại liên kết với một namespace trong NET, bởi vì nếu điều đó xảy ra, nó sẽ làm cho XAML document của bạn trở nên cực kì phức tạp Ta thấy WPF có rất nhiều namespace (tất cả đều bắt đầu bằng System.Windows) Nếu mỗi NET namespace lại có một XML namespace khác, bạn sẽ cần phải khai báo chính xác cho namespace cho mỗi loại control mà bạn sẽ dùng, điều này có thể làm cho bạn nhầm lẫn hoặc thiếu sót

Trang 38

GVHD: Lê Minh Lý - 2301 Trang 24 SVTH: Hồ Hoàng Nha - 1111536

Phần này diễn tả các cú pháp cơ bản của XAML và đưa ra một số ví dụ

Object Element & Prorperty Syntax

Một Object Element thường khai báo là phiên bản (instance) của 1 kiểu (1 class) Kiểu này được định nghĩa trong assembly để cung cấp 1 kiểu (1 class) tương đương với các Object Element trong XAML

< [Tên Object Element] [Tên Thuộc tính = "Giá trị"] />

Ở trên chỉ rõ 2 object element <Button/> nằm trong parent là <StackPanel/> Mỗi element sẽ ánh xạ đến class tương ứng được định nghĩa trong assembly Lúc bạn chọn “<” bạn đang chỉ định XAML tạo 1 phiên bản của element class được tạo sẽ gọi đến contructor mặc định nằm trong class đó trong quá trình phân tích và tải XAML

Property Element Syntax

Đối với vài thuộc tính của Object Element, khai báo cú pháp Property Syntax

là không thể bởi vì giá trị của thuộc tính không nằm trong phạm vi chuỗi giá trị thay vào đó ta phải khai báo Property Element Syntax

Collection Syntax

XAML là ngôn ngữ tối ưu hóa khả năng đánh dấu để các nhà phát triển dễ đọc hơn Một trong các điểm tối ưu hóa là nếu 1 thuộc tính đặc biệt có kiểu là collection Trong đó các Item của collection bạn có thể đánh dấu như child element vào trong giá trị đặc biệt và trở thành 1 phần của collection

Trang 39

GVHD: Lê Minh Lý - 2301 Trang 25 SVTH: Hồ Hoàng Nha - 1111536

Trong trường hợp này 1 tập các child object element như là 1 giá trị được gán cho thuộc tính kiểu collection

Thuộc tính Content Property

XAML là ngôn ngữ có đặc tính đặc biệt, theo đó 1 class có thể ký hiệu chính xác 1 thuộc tính của nó là XAML conten property (nghĩa là child element của object element được dùng để gán gía trị cho thuộc tính content)

Ví dụ Border có Content Property của thuộc tính Child Sau đó ta khai báo 2 Border với mục đích giống nhau

Border thứ nhất tận dụng cú pháp đơn giản content property mà bỏ qua Border.Child (Property Element Syntax)

Border thứ 2 cho thấy rõ Border.Child

Attribute Syntax (Events)

Attribute Syntax được dùng cho các member như là 1 event hơn là 1 thuộc tính Tên của Attribute Syntax là tên của sự kiện

Trong WPF hiện thực 1 event của XAML: tên của sự kiện là tên của delegate của sự kiện xử lý

Trang 40

GVHD: Lê Minh Lý - 2301 Trang 26 SVTH: Hồ Hoàng Nha - 1111536

Markup Extensions (Phần đánh dấu mở rộng)

Markup Extensions là một khái niệm của XAML, để sử dụng Markup Extensions ta dùng "{ }"

Markup Extensions được sử dụng phổ biến nhất trong WPF là Binding, được dùng để thực hiện biểu thức ràng buộc dữ liệu và các Resource Reference: Static Resource, Dynamic Resource

Bằng cách dùng Markup Extensions bạn có thể dùng Attribute Syntax cung cấp các giá trị cho các thuộc tính ngay cả khi các thuộc tính này không hỗ trợ Attribute Syntax

Markup Extensions thường dùng các kiểu biểu thức trung gian để cho phép các tính năng như trì hoãn giá trị hoặc tham chiếu đến đối tượng khác mà chỉ xuất hiện

ở thời điểm Run-time

Case Sensitive (Phân biệt hoa thường) và khoảng trắng

Tương tự như C#, XAML nhạy cảm và phân biệt chữ viết hoa và viết thường cho tất cả các khái niệm niệm trên như: Object Element, Property, Property Element,…riêng giá trị trong XAML có thể là non-case sensitive phụ thuộc vào hành vi chuyển đổi giá trị liên quan đến thuộc tính nhận giá trị hoặc kiểu giá trị của thuộc tính XAML tự động bỏ những khoảng trắng không cần thiết

Ngày đăng: 12/01/2016, 19:52

HÌNH ẢNH LIÊN QUAN

Hình 2. 1 XAML hỗ trợ lập trình viên và người thiết kế làm việc chung.  2.1.4 Kiến trúc của WPF - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 2. 1 XAML hỗ trợ lập trình viên và người thiết kế làm việc chung. 2.1.4 Kiến trúc của WPF (Trang 21)
Hình 2. 4 Giao của cùng ứng dụng nêu trên dưới dạng một XBAP chạy trên - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 2. 4 Giao của cùng ứng dụng nêu trên dưới dạng một XBAP chạy trên (Trang 26)
Hình 2. 5 Cài đặt .Net Framework runtime 3 từ Microsoft - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 2. 5 Cài đặt .Net Framework runtime 3 từ Microsoft (Trang 27)
Hình 2. 6 vô hiệu hóa các Blocker Popup trong Internet Explorer - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 2. 6 vô hiệu hóa các Blocker Popup trong Internet Explorer (Trang 28)
Hình 3.  1 Mô hình ER - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 3. 1 Mô hình ER (Trang 45)
Sơ đồ phân rã chức năng giảng viên - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Sơ đồ ph ân rã chức năng giảng viên (Trang 49)
Sơ đồ phân rã chức năng giảng viên quản lý - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Sơ đồ ph ân rã chức năng giảng viên quản lý (Trang 50)
Hình 3.  3 Sơ đồ use case dành cho giảng viên. - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 3. 3 Sơ đồ use case dành cho giảng viên (Trang 52)
Hình 3.  4 Sơ đồ use case dành cho giảng viên quản lý. - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Hình 3. 4 Sơ đồ use case dành cho giảng viên quản lý (Trang 53)
Bảng 3.  14 Bảng đăng ký đề tài luận văn - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 14 Bảng đăng ký đề tài luận văn (Trang 80)
Bảng 3.  17 Bảng chức vụ - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 17 Bảng chức vụ (Trang 82)
Bảng 3.  20 Bảng được học hàm - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 20 Bảng được học hàm (Trang 84)
Bảng 3.  22 Bảng có học vị - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 22 Bảng có học vị (Trang 85)
Bảng 3.  24 Bảng Bảng tổ chuyên ngành - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 24 Bảng Bảng tổ chuyên ngành (Trang 86)
Bảng 3.  25 Bảng khóa học - xây dựng website quản lý đăng ký đề tài luận văn của giáo viên và sinh viên khoa khoa học tự nhiên
Bảng 3. 25 Bảng khóa học (Trang 87)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w