Tải bản đầy đủ (.doc) (24 trang)

Thiết lập trình diễn windows

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (340.59 KB, 24 trang )

GVHD: PGS.TS ĐẶNG MINH ẤT

1

SVTH: ĐÀM THỊ THÚY NGA

MỤC LỤC
LỜI MỞ ĐẦU................................................................................................ 2
CHƯƠNG I: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU.............................3
I. TỔNG QUAN VỀ ĐƠN VỊ THỰC TẬP........................................................3
1. Giới thiệu về đơn vị thực tập.........................................................................3
2. Sơ đồ tổ chức.................................................................................................4
II. TÍNH CẤP THIẾT CỦA ĐỀ TÀI.................................................................4

CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI....................................................6
I. MICROSOFT VISUAL 2008..........................................................................6
1. Sơ lược lịch sử phát triển của Visual Studio.................................................6
2. Tính năng vượt trội của Microsoft Visual Studio 2008 so với các phiên bản
trước...................................................................................................................7
II. WINDOWS PRESENTATION FOUNDATION.......................................11
1. Khái niệm về WPF .....................................................................................11
2. Cấu trúc của Windows Presentation Foundation.........................................18

TÓM TẮT CÁC NỘI DUNG TRONG CHƯƠNG SAU:.........................22

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

2



SVTH: ĐÀM THỊ THÚY NGA

LỜI MỞ ĐẦU
Trong quá trình học tập và rèn luyện tại Bộ môn Công Nghệ Thông Tin - Trường ĐH
Kinh Tế Quốc Dân, chúng em đã được trang bị những kiến thức cần thiết dưới sự hướng
dẫn và dạy bảo của thầy cô trong Bộ môn. Đến nay, khi sắp kết thúc 4 năm học chúng em
chuẩn bị ra trường và làm việc, nhà trường đã tạo điều kiện cho chúng em được tiếp cận
thực tế, từ đó kết hợp lý thuyết mình đã học ứng dụng vào thực tế thông qua 4 tháng thực
tập.
Để có kiến thức và kết quả thực tế như ngày hôm nay, trước hết em xin chân thành cảm
ơn các thầy cô giáo trong Bộ môn Công Nghệ Thông Tin đã giảng dạy và trang bị cho em
những kiến thức cơ bản, đồng thời tận tình hướng dẫn em trong quá trình thực tập. Bên
cạnh đó, em cũng xin gửi lời cảm ơn chân thành đến toàn thể các anh chị bên Công ty Cổ
Phần Phần Mềm Quản Lý Hiện Đại, đã tận tình giúp đỡ và tạo điều kiện cho em hoàn
thành tốt quá trình thực tập của mình.
Trong thời gian thực tập, em nghiên cứu và tìm hiểu một công nghệ hoàn toàn mới “Thiết
lập trình diễn Windows” – Windows Presentation Foundation, được ứng dụng trong
Windows Vista và Windows 7(Hệ điều hành mới của Microsoft). Phương thức trình diễn
Windows này cho phép dễ dàng tạo ra những ứng dụng tương tác người dùng hiệu quả
hơn với một giao diện phong phú, linh hoạt hơn. Đây cũng là một để tài mới nên em cũng
nhận được sự giúp đỡ tận tình từ các anh chị bên Công ty Cổ phần Phần mềm Quản lý
Hiện Đại và đặc biệt là sự hướng dẫn nhiệt tình của PGS.TS Đặng Minh ẤT.
Trong quá trình thực tập và làm báo cáo, do còn thiếu nhiều kinh nghiệm thực tế nên
không tránh khỏi những sai sót. Em mong nhận được sự chỉ bảo của các thầy cô để em có
thể hoàn thành và đạt kết quả tốt hơn. Em xin chân thành cảm ơn!

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------



GVHD: PGS.TS ĐẶNG MINH ẤT

3

SVTH: ĐÀM THỊ THÚY NGA

CHƯƠNG I: PHƯƠNG PHÁP LUẬN NGHIÊN CỨU
I. TỔNG QUAN VỀ ĐƠN VỊ THỰC TẬP
1. Giới thiệu về đơn vị thực tập
Trong khoảng thời gian 15 tuần thực tập tại Công ty Cổ phần Phần mềm Quản lý Hiện
Đại, được sự giúp đỡ của ban lãnh đạo công ty và các anh chị cán bộ, nhân viên công ty
cùng với sự hướng dẫn nhiệt tình của PGS.TS Đặng Minh ẤT, em đã hoàn thành được
báo cáo thực tập của mình.
Sau đây em xin trình bày tổng quan về công ty nơi em thực tập:
TÊN CÔNG TY

CÔNG TY CỔ PHẦN PHẦN MỀM
QUẢN LÝ HIỆN ĐẠI

TÊN VIẾT TẮT

HIENDAI SOFTWARE COMPANY

GIÁM ĐỐC

Nguyễn Hồng Vinh

ĐỊA CHỈ

Trụ sở chính: Phòng 901, nhà CT12, KĐT Mễ Trì Hạ

Từ Liêm, Hà Nội

WEBSITE



E-MAIL

;


ĐIỆN THOẠI

+84–(0)4–787 5266; 04 210 7136

FAX

+84–(0)4–787 5266

Công ty Cổ phần Phần mềm Quản lý Hiện Đại là một công ty chuyên về cung cấp các
phần mềm quản lý, phát triển các giải pháp dựa trên công nghệ của Microsoft. Công ty có
hai bộ phận chính:
• Phòng Giải pháp Thư viện: Chuyên nghiệp trong việc phát triển và cung cấp các
sản phẩm phần mềm và hỗ trợ cho các vấn đề quản lý thông tin tư liệu thư viện
ngày nay.
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT


4

SVTH: ĐÀM THỊ THÚY NGA

• Phòng Giải pháp Doanh nghiệp tập trung phát triển các sản phẩm phần mềm và
dịch vụ hỗ trợ cho các doanh nghiệp
Mục tiêu của công ty:
• Cung cấp các giải pháp phần mềm có chất lượng cao thỏa mãn mục tiêu kinh
doanh của khách hàng
• Chuyên sâu về thiết kế và phát triển các ứng dụng phục vụ cho thư viện, các giải
pháp quản lý tri thức, giải pháp quản lý doanh nghiệp tổng thể.
• Trở thành một trong những công ty phần mềm hàng đầu của Việt Nam trong lĩnh
vực phát triển các giải pháp phần mềm phục vụ đào tạo và quản lý doanh nghiệp.

2. Sơ đồ tổ chức
Công ty Cổ phần Phần mềm Quản lý Hiện Đại được thành lập từ tháng 9 năm 2004 với
nòng cốt nhân lực từ nhóm kỹ sư thuộc tập đoàn thông tin Châu Á IGroup chuyên nghiệp
trong việc cung cấp thông tin và các giải pháp cho thư viện.
Sơ đồ tổ chức của công ty:

Hình 1.I-1: Sơ đồ tổ chức của công ty

Nhân sự của HIENDAI hiện nay gồm 15 nhân viên, độ tuổi trung bình là 25. Các nhân
việc của HIENDAI đều có trình độ cao, và 90% tốt nghiệp Đại học. Và tất cả đều có kinh
nghiệm trong lĩnh vực hoạt động của mình.

II. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Năm 2004, với sự ra đời của bộ Visual Studio 2005, Microsoft đã khẳng định được những
tính năng vượt trội so với bộ Visual Studio 2003: cho phép tăng tốc code, giao diện được
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------



GVHD: PGS.TS ĐẶNG MINH ẤT

5

SVTH: ĐÀM THỊ THÚY NGA

thiết kế với khả năng tùy biến theo hệ điều hành giúp cho ứng dụng giảm bớt sự khô
cứng, môi trường thiết kế ứng dụng được hệ thống lại giúp cho việc thiết kế trở nên dễ
dàng hơn… đến nay Microsoft đưa ra một sản phẩm mới mang nhiều bước tiến vượt bậc
hơn so với bộ VS 2003, VS 2005 đó chính là sản phẩm Visual Studio 2008. Đây là sản
phẩm được cho là tốt hơn hết so với những phiên bản Visual Studio trước đây.
Mới đây khi Windows Vista, Windows 7 ra đời với một dòng giao diện hoàn toàn mới,
mở ra thời kì của các ứng dụng với giao diện phong phú, linh hoạt, đồ họa 3D, thân thiện
và bắt mắt người dùng hơn… Cùng lúc đó là sự ra đời của bộ Visual Studio 2008 cung
cấp môi trường để tạo ra các ứng dụng đáp ứng được yêu cầu về giao diện mới, bên cạnh
đó nó còn chứa các tính năng đột phá giúp cho việc thiết kế được thuận lợi hơn. Visual
Studio 2008 hướng tới sự phát triển trong môi trường .Net Framework bản 2.0, 3.0 và 3.5.
Trong bộ sản phẩm Visual Studio 2008, Microsoft đã đưa ra rất nhiều công nghệ và tiện
ích đáng chú ý như: WPF (Windows Presentation Foundation), XAML - Extensible
Application Markup Language(là trình thiết kế căn bản), LINQ to SQl (dùng để mô tả các
kiểu ánh xạ và sự đóng gói của đối tượng cho dữ liệu của SQL Sever)… trong đó đáng
chú ý nhất phải kể đến là WPF và XAML. Hai khái niệm này gắn kết với nhau và trong
tương lai chúng sẽ đem lại một cuộc cách mạng trong việc xây dựng phần mềm. Giờ đây
việc xây dựng các ứng dụng cả WinForm và WebForm trở nên dễ dàng hơn, thuận tiên
hơn. Nhờ bộ công cụ trình diễn Windows mới cho phép ra đời một thế hệ lập trình đồ họa
tuyệt vời bao gồm GDI vừa hỗ trợ đồ họa 3D, hình động, video, xử lý nhận dạng âm
thanh… Tất cả đều có trong hai khái niệm Windows Presentation Foundation và
Extensible Application Markup Language (XAML) . Trong báo cáo thực tập này, tôi xin

đưa ra các nghiên cứu về phương thức trình diễn Windows mới (Windows Presentation
Foundation). Công nghệ này cung cấp nền tảng cho việc xây dựng ứng dụng với khả năng
kết hợp các thành phần giao diện ứng dụng, tài liệu dưới dạng văn bản và các nội dung
media. WPF cũng cho phép khai thác tối đa được sức mạnh của máy tính cũng như các
công nghệ mới trong Windows Vista.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

6

SVTH: ĐÀM THỊ THÚY NGA

CHƯƠNG 2: TỔNG QUAN VỀ ĐỀ TÀI
I. MICROSOFT VISUAL 2008
1. Sơ lược lịch sử phát triển của Visual Studio
Trở về những năm 1997, thời điểm phiên bản đầu tiên, Visual Studio được chia thành các
IDE (Intergrated Development Environment – môi trường phát triển tích hợp) nhỏ bao
gồm Visual C++, Visual Basic, Visual J++, một công cụ có tên InterDev và MSDN
Library. Đây là môi trường hỗ trợ các nhà lập trình viên trong việc phát triển phầm mềm.
Tiếp đến vào tháng 6 năm 1998 Microsoft cho ra đời Visual Studio 6.0 cải thiện thêm cho
Visual Studio 97. Đây cũng là phiên bản cuối cùng chạy trên nền tảng Win9x. Nó có
những nâng cấp rõ rệt đối với Visual J++, Visial InterDev. Phiên bản này là một cơ sở,
một nền tảng mà Microsoft phải mất tới 4 năm để phát triển lên một môi trường mới mà
giờ đây người ta gọi là .NET Framework.
Năm 2002, 2003 Microsoft trình làng cặp sản phẩm mang tính đột phá Visual Studio
.NET 2002 và Visual Studio .NET 2003, đó là một sự thay đổi lớn trong công nghệ phát
triển phần mềm. Microsoft đã giới thiệu một môi trường phát triển “code được quản lý”

(managed code) sử dụng .NET Framework, là một IDE đa năng, là môi trường mà bạn có
thể viết ứng dụng bằng bất kì ngôn ngữ nào, từ C++, Visual Basic cho đến J++ hay C#,
chỉ cần duy nhất một IDE bạn có thể làm chủ tất cả từ giao diện cho đến soạn thảo mã
lệnh, tất cả đều thật dễ dàng.
Ba năm sau là sự ra đời của Visual Studio 2005, nó giúp cho nhà phát triển làm việc
nhóm dễ dàng và hiệu quả, cũng như giảm bớt công sức và thời gian trong quá trình phát
triển.
Đến nay, với sự ra đời của Visual Studio 2008 đánh dấu bước tiến vượt bậc so với các
phiên bản trước. Visual Studio 2008 cung cấp một bộ công cụ mạnh mẽ để xây dựng phần
mềm cho Windows, Web, các thiết bị di động và Microsoft Office. Visual Studio 2008
nâng cao hiệu quả của nhà phát triển bằng cách cung cấp công cụ để viết mã nhanh hơn,
đơn giản hóa những tác vụ liên quan đến việc phát triển phần mềm khác. Bộ công cụ này
cho phép tăng tốc quá trình biến ý tưởng ban đầu của nhà phát triển thành hiện thực.
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

7

SVTH: ĐÀM THỊ THÚY NGA

Visual Studio 2008 được thiết kế để hỗ trợ các dự án phát triển nhắm đến nền tảng
Web(bao gầm ASP.NET, AJAX), Windows Vista, Windows Sever 2008, hệ thống 2007
Microsoft Office, SQL Sever 2008 cùng với các thiết bị nền Windows Mobile. Phiên bản
Visual Studio này gồm các công cụ phát triển với .NET Framework 3.0. Các công cụ này
đã được thiết kế kéo thả cho các giao diện sử dụng người dùng (GUI) Windows
Presentation FrameWork và các công cụ thiết kế cho engine luồng công việc Windows
WorkFlow Foundation. Mặt khác, Visual Studio 2008 cung cấp ngôn ngữ truy vấn tích
hợp LINQ - Language Integrated Query, các mở rộng trong cở sở dữ liệu và dữ liệu

XML. Visual Studio 2008 cung cấp bộ công cụ tích hợp để đáp ứng mọi nhu cầu này
thông qua việc cung cấp một tập hợp khổng lồ các chức năng, đặc tính hoàn toàn mới.

2. Tính năng vượt trội của Microsoft Visual Studio 2008 so với các phiên bản
trước
Như đã nói, Visual Studio 2008 chính là một bộ công cụ để xây dựng phần cho Windows,
Web, các thiết bị di động và Microsoft Office. Visual Studio 2008 tích hợp những tính
năng có thể làm thỏa mãn bất kỳ nhà phát triển ứng dụng nào. Visual Studio 2008 được
đánh giá cao qua những điểm nổi trội sau:
• Thứ nhất, Visual Studio 2008 tích hợp phiên bản chính thức .NET Framework 3.5
và môi trường đồ họa động mới nhất Silverlight. Visual Studio còn có thêm một
công cụ mới Popfly Explorer. Đây là công cụ cho phép nhà phát triển xây dựng các
ứng dụng dịch vụ Web trên nền tảng Silverlight mới ra mắt của Microsoft. Một
nền tảng tương tự như Adobe Flash
• Thứ 2, Visual Studio 2008 giờ cũng đã tích hợp khả năng hỗ trợ nhiều ngôn ngữ
động như IronRuby và IronPython. Và cuối cùng là Visual Studio 2008 được
Microsoft tích hợp thêm LINQ (Language Integrated Query – Ngôn ngữ truy vấn
tích hợp). Tính năng này cho phép ngôn ngữ lập trình .NET có thể truy vấn dữ liệu
thông qua Lexicon tương tự như SQL nhưng không cần phải thông qua các bộ xử
lý dữ liệu như ADO.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

8

SVTH: ĐÀM THỊ THÚY NGA


• Thứ ba, công cụ Sync Framework tích hợp sẵn giúp mở rộng khả năng hỗ trợ đồng
bộ hóa của Visual Studio 2008 cho phép tạo ứng dụng phối hợp ngoại tuyến hoặc
ngang hàng. Microsoft tuyên bố Sync Framework là nền tảng đưa dịch vụ Web và
cơ sở dữ liệu từ trên mạng xuống dưới PC, hỗ trợ đồng bộ hóa ngang hàng bất kỳ
loại tệp tin nào theo bất kỳ thủ tục truyền tải, loại dữ liệu hoặc hình thức lưu trữ
nào.
Tóm lại Visual Studio 2008 ra mắt những ưu điểm chính cho các chuyên gia phát triển
phầm mềm thể hiện trong 3 lĩnh vực chính:
• Cải thiện khả năng sản xuất
• Quản lý chu trình phát triển ứng dụng
• Triển khai các công nghệ mới nhất
Những đặc điểm này ta có thể thấy rõ nó đã tạo ra một bước tiên lớn.
a. Về cải thiện khả năng sản xuất:

Với mỗi phiên bản, Microsoft luôn cố gắng cải thiện Visual Studio để sao cho luôn có thể
đạt được hiệu suất làm việc ngày càng cao hơn. Chính vì vậy mà Visual Studio 2008 đã đi
sâu vào giải quyết những vấn đề phức tạp của công việc phát triển phần mềm:
• Vấn đề truy xuất dữ liệu: Có thể nói những thay đổi về truy xuất dữ liệu trong
Visual Studio 2008 là một cuộc cách mạng. Ở phiên bản này, Microsoft giới thiệu
LINQ (Language Integrated Query – Ngôn ngữ truy vấn tích hợp) giúp cho nhà
pháp triển có thể tương tác với dữ liệu dựa trên một mô hình hoàn toàn mới với rất
nhiều hỗ trợ cho hai ngôn ngữ C# và Visual Basic. Xử lý dữ liệu luôn là trở ngại
chính mà các nhà phát triển thường phải đối mặt, đặc biệt là quá trình làm việc với
những dữ liệu mang tính trao đổi cao như XML (Extensible Makeup Language –
Ngôn ngữ đánh dấu mở rộng). Nhưng với LINQ, mọi thứ dường như được giải tỏa,
bởi đúng như tên gọi của nó, LINQ được tích hợp vào ngay bản thân ngôn ngữ lập
trình. Với dự hỗ trợ sâu về việc kết hợp ngôn ngữ truy vấn tích hợp .NET (LINQ to
SQL) bên trong các ứng dụng Web ASP.NET, Visual Studio tạo lên sự sang tạo dữ
liệu cho các Website, làm cho chúng trở nên năng suất hơn và cũng hiệu quả hơn.
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------



GVHD: PGS.TS ĐẶNG MINH ẤT

9

SVTH: ĐÀM THỊ THÚY NGA

• Thiết kế giao diện nhanh, hiệu quả: Với Visual Studio 2008, chỉ với một IDE duy
nhất, chúng ta có thể làm việc được với tất các phiên bản của .NET Framework từ
phiên bản mới nhất 3.5 đến phiên bản cũ hơn 3.0 hay thậm chí là 2.0. Đặc biệt
Windows Form designer của Visual Studio 2008 được tích hợp chặt chẽ với WPF
(Windows Presentation Foundation), giúp nhà phát triển có được một giao diện
thật bắt mắt nhưng lại chẳng tốn nhiều thời gian và công sức.
• Tạo các ứng dụng Microsoft Office hiệu quả: Tích hợp chặt với Microsoft Office
thông qua bộ công cụ Visual Studio Tool for Office(VSTO). Visual Studio cho
phép các chuyên gia phát triển phần mềm có thể tùy chỉnh Word, Excel®,
PowerPoint, Outlook, Visio®, InfoPath®, và Project để cải thiện năng suất người
dùng và tận dụng nhiều cải thiện trong hệ thống Offìce 2007 của Microsoft.
• Xây dựng các ứng dụng Windows Vista hiệu quả: Visual Studio cung cấp công cụ
cho phép các chuyên gia xây dựng ứng dụng giàu kinh nghiệm nhanh chóng và dễ
dàng. Các công cụ này gồm có một bộ thiết kế và bộ soạn thảo XAML, các mẫu dự
án và hỗ trợ gỡ rối, hỗ trợ triển khai… Không chỉ hỗ trợ về mảng thiết kế giao diện
trực quan thông qua Windows Form Designer, Visual Studio 2008 còn hỗ trợ nhà
phát triển can thiệp sâu vào XAML để xây dựng giao diện cho các ứng dụng dựa
trên nền WPF. Ngoài ra, theo Microsoft thì Visual Studio 2008 còn hỗ trợ tới trên
8000 API (Application Programming Interface) dành riêng cho Windows Vista.
Thậm chí, Visual Studio 2008 còn hỗ trợ cả WWF (Windows Workflow
Foundation) giúp nhà phát triển dễ dàng hơn khi triển khai dứng dụng, có thể
không cần viết một dòng mã nào.

b. Về quản lý chu trình phát triển ứng dụng ta có thể thấy những ưu điểm sau

trong Visual Studio 2008:
Bằng việc hỗ trợ các định dạng chung (như XML) và cho phép người thiết kế kiểm soát
trực tiếp hơn với Layout, các Control và sự ràng buộc dữ liệu của giao diện ứng dụng
người dùng (UI), Visual Studio làm cho các thiết kế viên hòa nhập vào quá trình phát
triển dễ dàng hơn. Visual Studio hỗ trợ đầy đủ sự cộng tác luồng công việc, cho phép các
thiết kế viên và chuyên gia phát triển phần mềm quản lý công việc trước/sau và công việc
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

10

SVTH: ĐÀM THỊ THÚY NGA

song song. Ngoài ra, các thiết kế viên và chuyên gia phát triển phần mềm cũng có thể xây
dựng các thư viện thành phần, định dạng và các thiết kế giao diện người dùng chung để
dễ dàng quản lý và sử dụng lại.
Microsoft Synchronization Services cho ADO.NET cung cấp một giao diện lập trình ứng
dụng (API) giúp đồng bộ hóa dữ liệu giữa các dịch vụ dữ liệu và kho dữ liệu cục bộ.
Synchronization Services API được mô hình hóa sau khi các giao diện lập trình ứng dụng
truy cập dữ liệu ADO.NET và cho một cách trực giác để đồng bộ dữ liệu. Nó làm cho
việc xây dựng các ứng dụng trong môi trường kết nối không thường xuyên được mở rộng
về mặt logic, nơi có thể phụ thuộc vào sự nối mạng nhất quán.
c. Về triển khai các công nghệ mới nhất thể hiện ở những đặc điểm sau:

Cho phép chuyên gia phát triển phần mềm Web lập trình các giao diện Web tương tác
người dùng “AJAX - style”. Visual Studio cung cấp cho các chuyên gia phát triển các

công cụ và sự hỗ trợ Framework cần thiết để tạo ra các ứng dụng Web hấp dẫn, nhiều ý
nghĩa và cho phép AJAX.
Dễ dàng sử dụng các dịch vụ Windows Communication Foundation(WCF): các chuyên
gia có thể sử dụng các công cụ RAD để tạo nhanh chóng và dễ dàng kết nối máy khác và
proxy đến các dịch vụ đang tồn tại, kiểm tra chúng mà không cần viết mã. Thêm vào đó
các chuyên gia phần mềm có thể sử dụng cùng công nghệ và công cụ cho các dịch vụ
WCF dù chúng có được đặt ở đâu đi nữa.
Thực thi dịch vụ được tích hợp với thiết kế luồng công việc: Visual Studio cho phép
chuyên gia phát triển phần mềm soạn thảo lại các hành vi trong toàn bộ các dịch vụ với
Windows Workflow Foundation để hình dung, tạo, soạn thảo và gỡ rối các nhiệm vụ
luồng công việc và các thành phần phụ thuộc.
Sự kết hợp của WPF, XAML đem lại cuộc cách mạng trong quá trình xây dựng phần
mềm. Visual Studio 2008 hỗ trợ toàn bộ cho việc lập trình giao diện đồ họa với WPF.
Đây là một công cụ tuyệt vời, hỗ trợ kéo thả và viết mã nguồn XAML là đồng bộ với
nhau. XAML là công nghệ có thể ứng dụng trong nhiều lĩnh vực khác nhưng vai trò chính
của nó là để xây dựng giao diện trong các ứng dụng WPF.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

11

SVTH: ĐÀM THỊ THÚY NGA

II. WINDOWS PRESENTATION FOUNDATION
1. Khái niệm về WPF
Windows Presentation Foundation (WPF) trước đây được gọi là code Avalon, là một hệ
thống đồ họa con trong môi trường .NET Framework 3.0, trong đó sử dụng ngôn ngữ

đánh dấu ứng dụng mở rộng (Extensible Application Markup Language) - XAML cho
việc phát triển giao diện người dùng phong phú, đa dạng. Được xem như thế hệ kế tiếp
của WinForms, 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. WPF được
tích hợp trong Windows Vista và Windows Sever 2008, và cũng có sẵn trong Windows
XP Service pack 2 hoặc các phiên bản sau và Windows Sever 2003.

Hình 2. II-1: Một phần hệ thống con trong môi trường .NET Framework 3.0

WPF cung cấp một mô hình lập trình nhất quán để xây dựng những ứng dụng và đưa ra
sự phân chia rõ ràng giữa giao diện người dùng và logic nghiệp vụ. Một ứng dụng WPF
có thể được triển khai trên máy tính để bàn hoặc lưu trữ trên máy chủ của một trình duyệt
web. Nó cũng cung cấp những điều khiển phong phú, thiết kế và phát triển giao diện trực
quan cho các chương trình Windows, nhằm mục đích thống nhất một số các dịch vụ ứng
dụng: giao diện người dung (UI), đồ họa 2D và 3D, những tài liệu thích ứng, nâng cao kĩ
thuật typography (kỹ thuật tạo chữ), vector đồ họa, đồ họa raster, hình ảnh động, ràng
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

12

SVTH: ĐÀM THỊ THÚY NGA

buộc dữ liệu, âm thanh và video. Mặc dù Winform sẽ tiếp tục được sử dụng rộng rãi và
Microsoft mới chỉ đưa ra vài ứng dụng WPF nhưng Microsoft cũng đang quảng bá WPF
cho dòng sản phẩm các ứng dụng doanh nghiệp.
WPF được xây dựng nhằm vào ba mục tiêu cơ bản sau:
• 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.
a. Nền tảng thống nhất để xây dựng giao diện người dùng

Trước khi WPF ra đời, việc tạo giao diện người dùng đòi hỏi sử dụng rất nhiều công nghệ
khác nhau (Bảng 1). Để 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 Framework. 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, anh ta 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ệ.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

13

SVTH: ĐÀM THỊ THÚY NGA

Bảng 1: Thành phần giao diện theo yêu cầu và những công nghệ chuyên biệt cần thiết để tạo chúng

WPF là giải pháp hợp nhất nhằm giải quyết tất cả những vấn đề công nghệ nêu trên, hay

nói cách 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ể.
Hình 2.II-2: cho thấy một giao diện quản lý và theo dõi bệnh nhân có sự kết hợp của hình

ảnh, text, đồ họa 2D, 3D và nhiều thông tin trực quan khác. Tất cả đều được tạo ra bằng
WPF – lập trình viên không cần viết code để sử dụng các công nghệ chuyên biệt như
GDI+ hay Direct3D.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

14

SVTH: ĐÀM THỊ THÚY NGA

Hình 2.II-2: Một giao diễn người dùng quản lý và theo dõi bệnh nhân sử dụng WPF có thể kết hợp hình
ảnh, text, đồ họa 2 chiều/3chiều và nhiều tính năng trực quan khác

Tuy nhiên, WPF ra đời không có nghĩa là tất cả những công nghệ nêu trên bị thay thế.
Windows Forms vẫn có giá trị, thậm trí trong WPF, một số ứng dụng mới vẫn sẽ sử dụng
Windows Forms. Windows Media Player vẫn đóng một vai trò công cụ độc lập để chơi
nhạc và trình chiếu video. PDF cho văn bản vẫn tiếp tục được sử dụng. Direct3D vẫn là
công nghệ quan trọng trong games và các dạng ứng dụng khác (Trong thực tế, bản thân
WPF dựa trên Direct3D để thực hiện mọi biểu diễn đồ họa).
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.
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

15

SVTH: ĐÀM THỊ THÚY NGA

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. Và 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, của cách thức người dùng tương tác với
ứng dụng trên Windows.
b. Khả năng làm việc chung giữa người thiết kế giao diện và lập trình viên.

Trong thực tế, việc xây dựng một giao diện người dùng phức hợp đòi hỏi phải có những
người thiết kế giao diện chuyên nghiệp. Nhưng câu hỏi đặt ra là làm sao để người thiết kế
và lập trình viên có thể làm việc cùng nhau?
Thông thường, người thiết kế giao diện 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ã trình để 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 nó thành hiện thực có
thể là khó khăn hoặc bất khả thi với lập trình viên. Hạn chế về công nghệ, sức ép tiến độ,
thiếu kỹ năng, hiểu nhầm hoặc đơn giản là bất đồng 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, điều cần thiết ở đây là 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 đỏ có
nhan đề “Bỏ qua”.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

16

SVTH: ĐÀM THỊ THÚY NGA

Mỗi phần tử XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của phần tử đó lại
tương ứng với thuộc tính hay sự kiện của lớp này. Chẳng hạn, nút bấm màu đỏ trong ví dụ
trên có thể tạo bằng C# code như sau:

Người thiết kế có thể mô tả giao diện người dùng và tương tác với nó thông qua một công
cụ, chẳng hạn như Microsoft Expression Interactive Designer. Chỉ tập trung vào việc định
ra diện mạo và cảm quan cho giao diện đồ họa WPF, công cụ này sinh các đoạn mô tả
giao diện thể hiện qua ngôn ngữ XAML. Lập trình viên sau đó sẽ nhập đoạn mô tả
XAML đó vào môi trường lập trình, chẳng hạn như Microsoft Visual Studio. Thay vì lập
trình viên phải tái tạo lại giao diện từ đầu dựa trên một ảnh tĩnh mà người thiết kế cung
cấp, bản thân các đoạn XAML này sẽ được Microsoft Visual Studio biên dịch để tái tạo

thành giao diện đồ họa đúng theo mô tả. Lập trình viên chỉ tập trung vào việc viết mã
trình cho giao diện được sinh ra, chẳng hạn như xử lý các sự kiện, theo những chức năng
đề ra của ứng dụng.
Việc cho phép người thiết kế và lập trình viên làm việc chung như vậy sẽ hạn chế những
lỗi phát sinh khi hiện thực hóa giao diện từ thiết kế. Thêm vào đó, nó còn cho phép hai
nhóm công tác này làm việc song song, khiến mỗi bước lặp trong quy trình phát triển
phần mềm ngắn đi và việc phản hồi được tốt hơn. Vì cả hai môi trường đều có khả năng
hiểu và sử dụng XAML, ứng dụng WPF có thể chuyển qua lại giữa hai môi trường phát
triển để sửa đổi hay bổ sung giao diện. Với tất cả những lợi điểm này, vai trò của người
thiết kế trong việc xây dựng giao diện được đặt lên hàng đầu.
c. Công nghệ chung cho giao diện trên Windows và trình duyệt Web

Trong thời đại bùng nổ của Internet, các ứng dụng Web ngày một phát triển. Việc trang bị
giao diện người dùng với đầy đủ tính năng như một ứng dụng desktop sẽ thu hút nhiều
người sử dụng và do đó góp phần làm tăng giá trị doanh nghiệp. Tuy nhiên, với những
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

17

SVTH: ĐÀM THỊ THÚY NGA

công nghệ truyền thống, để phát triển một giao diện đồ họa vừa hoạt động trên desktop
vừa trên trình duyệt Web, đòi hỏi phải sử dụng những công nghệ hoàn toàn khác nhau,
giống như việc xây dựng hai giao diện hoàn toàn độc lập. Điều này tạo ra chi 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. 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. Cùng một
đoạn mã được sử dụng chung cho cả hai trường hợp sẽ làm giảm khối lượng công việc
cần thiết để phát triển hai dạng giao diện. Thêm vào đó, sử dụng cùng một đoạn mã cũng
có nghĩa là sử dụng cùng kỹ năng của lập trình viên. Do đó, lập trình viên chỉ cần có học
một kiến thức chung là có thể sử dụng trong cả hai trường hợp. Một lợi điểm nữa của việc
dùng chung công nghệ cho cả giao diện Windows và giao diện Web là người xây dựng
ứng dụng không nhất thiết phải quyết định trước loại giao diện nào được sử dụng. Miễn là
máy client đáp ứng được những yêu cầu hệ thống để chạy XBAP, một ứng dụng có thể
cung cấp cả giao diện Windows và giao diện Web, mà chỉ sử dụng phần lớn những đoạn
mã giống nhau.
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.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

18

SVTH: ĐÀM THỊ THÚY NGA

2. Cấu trúc của Windows Presentation Foundation

Hình 2.II-3: Kiến trúc của WPF

WPF sử dụng một kiến trúc đa tần, ở phía trên ứng dụng của bạn sẽ tương tác với một tập

các dịch vụ ở mức cao. Cấu trúc của Windows Presentation Foundation xoanh quanh hai
thành phần “code được quản lý” (Managed code) và mã máy. Các hàm thư viện API dùng
chung chỉ có thể thực thi thông qua Managed code. Trong khi phần lớn WPF đều là ở
managed code, thì công cụ để tạo ra ứng dụng WPF là một thành phần riêng. Nó được gọi
là MIL (Media Integration Layer - Lớp tích hợp truyền thông) và được lưu trữ trong
milcore.dll.
MIL giao tiếp trực tiếp với DirectX và cung cấp hỗ trợ cơ bản cho các bề mặt đồ họa 2D
và 3D, thao tác kiểm soát thời gian những nội dung của một bề mặt với một cái nhìn tổng
quan để trình diễn những Animation (hình ảnh động) được xây dựng ở mức cao hơn và
kết hợp những phần tử đơn lẻ của một ứng dụng WPF để cuối cùng tạo thành một hoạt
cảnh 3D - chính là giao diện người dùng của ứng dụng và từ đó đưa ra màn hình. Các
media codec (những chương trình có khả năng mã hóa và giải mã một dòng dữ liệu hoặc
tín hiệu) được thực thi ở “mã không được quản lý” (unmanaged code), và được lưu trữ
trong windowscodecs.dll.
Trong môi trường được quản lý, PresentationCore (presentationcore.dll) cung cấp một
“trình bao bọc được quản lý” (managed wrapper) cho lớp MIL và thực thi các dịch vụ cốt
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

19

SVTH: ĐÀM THỊ THÚY NGA

lõi cho WPF. Nó bao gồm một hệ thống thuộc tính, cho phép nhận biết những phụ thuộc
giữa người thiết lập và người dùng thuộc đó, và bao gồm một hệ thống gửi tin nhắn theo
nghĩa là một đối tượng Dispatcher để thực thi một hệ thống sự kiện đặc biệt và những
dịch vụ cho phép thực thi một hệ thống layout như là thước đo cho những phần tử UI.
PresentationFramework (presentationFramework.dll) thực thi những chức năng trình diễn

người dùng cuối, bao gồm bố trí(layout), thời gian phụ thuộc(time-dependent), animation,
và ràng buộc dữ liệu (data binding).
WPF đưa ra một hệ thống đặc tính cho các đối tượng kế thừa từ DependencyObject (đối
tượng phụ thuộc). Đối tượng này nhận thức được sự phụ thuộc giữa những người dùng
thuộc tính và có thể kích hoạt các hoạt động dựa vào những thay đổi của các thuộc tính.
Các thuộc tính này có thể là những giá trị mã hóa cứng hay những biểu thức mà cụ thể là
những biểu thức đánh giá cho ra một kết quả. Tuy nhiên, trong phiên bản đầu tiên, tập
hợp các biểu thức được hỗ trợ đều đóng. Giá trị của thuộc tính cũng có thể được kế thừa
từ những đối tượng cha. Các thuộc tính WPF hỗ trợ những thông báo thay đổi. Nó gọi ra
xử lý ràng buộc bất cứ khi nào một vài thuộc tính của phần tử bị thay đổi. Những xử lý
tùy chỉnh có thể được sử dụng để đưa một thông báo thay đổi thuộc tính thông qua một
tập các đối tượng WPF. Điều đó có được bởi việc sử dụng hệ thống layout để kích hoạt sự
tính toán lại của việc bố trí trong những thay đổi thuộc tính. Như vậy khi trình bày một
phương thức lập trình khai báo cho WPF, hầu như tất cả mọi thứ, từ cài đặt màu sắc, vị trí
tới những phần tử động có thể đạt được bằng các cài đặt thuộc tính. Điều này cho phép
các ứng dụng trên WPF có thể được viết bằng XAML - một ngôn ngữ đánh dấu khai báo
(declarative mark-up language), bằng việc ràng buộc khóa và thuộc tính trực tiếp tới
những thuộc tính và lớp trong WPF.
Các phần tử UI của một ứng dụng WPF có thể tồn tại như là một lớp của những đối tượng
Visual(những đối tượng trực quan). Những đối tượng Visual cung cấp một giao diện được
quản lý cho môt cây thành phần. Cây thành phần này là có trong lớp tích hợp truyền
thông (MIL). Mỗi một phần tử của WPF tạo ra và thêm vào một hoặc nhiều nút trong cây
đó. Những nút thành phần này chứa những chỉ thị như là những chỉ thị slipping (cắt) và
transformation (chuyển đổi), cùng với những thuộc tính Visual khác. Vì vậy, toàn bộ ứng
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

20


SVTH: ĐÀM THỊ THÚY NGA

dụng được biểu diễn như là một tập hợp những nút thành phần, mà nó được lưu trữ trong
bộ đệm của hệ thống. Theo định kì MIL sẽ duyệt cây và thực thi những chỉ lệnh trong mỗi
nút, theo cách đó kết hợp mỗi phần tử vào một bề mặt đồ họa DirectX rồi sau đó trả ra
màn hình. MIL sử dụng thuật toán painter, nơi mà tất cả các thành phần được đưa ra màn
hình, nó cho phép những hiệu ứng phức tạp như là hiệu ứng“trong suốt” có thể đạt được
một cách dễ dàng. Quá trình xử lý này được tăng tốc phần cứng bằng cách sử dụng
GPU(Graphics Processing Unit – Đơn vị xử lý đồ họa). Cây thành phần được lưu trử bởi
MIL, tạo một chế độ “giữ lại” đồ họa, vì thế nếu có bất cứ thay đổi nào tới cây thành phần
thì chỉ cần được giao tiếp với MIL. Điều này cho phép giải phóng cho trình ứng dụng
quản lý “vẽ” lại màn hình. Những animation có thể được triển khai như là những sự thay
đổi thời gian kích hoạt tới cây thành phần. Về phía người sử dụng, những animation được
định rõ bằng cách cài đặt một vài hiệu ứng hình ảnh động cho các thành phần thông qua
một đặc tính và thời gian xác định. Mã ẩn (code-behind) cập nhập những nút cụ thể của
cây thông qua các đối tượng Visual, để trình diễn cả trạng thái trung gian ở những khoảng
thời gian nhất định cũng như trạng thái cuối cùng của thành phần. MIL sẽ trả ra những
thay đổi tới phần tử một cách tự động.
Tất cả những ứng dụng WPF bắt đầu với hai chuỗi: một cho việc quản lý UI và cái khác
cho việc quản lý trình diễn và vẽ lại. Việc trình diễn và vẽ lại được quản lý bởi chính
WPF mà không cần bất kì sự can thiệp nào của người phát triển. Các chuỗi giao diện
người dùng lưu trữ trong Dispatcher (thông qua một mẫu của DispatcherObject), nó duy
trì một hàng đợi những thao tác UI trong lúc đợi được thực thi (như là một cây đối tượng
Visual), và được sắp xếp theo độ ưu tiên. Các sự kiện UI ( bao gồm thay đổi thuộc tính)
ảnh hưởng đến sự bố trí và các sự kiện tương tác người dùng được xếp hàng đợi trong
Dispatcher. Dispatcher đưa ra trình quản lý cho các sự kiện. Microsoft đã đề rằng các sự
trình xử lý sự kiện chỉ cập nhập các đặc tính để phản ánh nội dung mới cho việc hồi đáp
ứng dụng. Nội dung mới này sẽ được phát sinh hoặc khôi phục trong chuỗi nền. Chuỗi
trình diễn chọn ra một bản sao của cây Visual và duyệt cây, các thành phần của nó sẽ

được hiển thị và trình diễn chúng ở bề mặt Direct3D. Các chuỗi trình diễn cũng được lưu
trữ trên cây Visual. Vì vậy, chỉ những thay đổi tớ cây thành phần mới được được giao
-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

21

SVTH: ĐÀM THỊ THÚY NGA

tiếp, đó là những thay đổi mà kết quả đưa ra là việc cập nhập pixel được thay đổi. WPF
cung cấp một mô hình bố trí mở. Sự bố trí này được chia thành hai giai đoạn: sắp xếp và
đo lường. Giai đoạn đo lường sẽ gọi đệ quy đến các phần tử và quyết định kích thước của
nó. Trong giao đoạn sắp xếp, các phần tử con được sắp xếp đệ quy từ chính phần tử cha
của nó bằng cách gọi ra thuật toán bố trí của module bố trí đang dùng.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

22

SVTH: ĐÀM THỊ THÚY NGA

TÓM TẮT CÁC NỘI DUNG TRONG CHƯƠNG SAU:
1. Tìm hiểu về XAML và những tính năng mới ứng dụng trong WPF
2. Tìm hiểu về các thành phần trong WPF.
a. Hệ thống dịch vụ đồ họa:

Tất cả các đồ họa (bao gồm những sản phẩm máy tính để bản giống như windows) đều là
những ứng dụng đồ họa Direct3D. Điều này nhằm mục đích cung cấp một đại lộ thống
nhất cho trình diễn các graphic, cũng như các tính năng đồ họa nâng cao hơn.
Định tuyến đồ họa thông qua Direct3D, cho phép Windows chuyển một số tác vụ đồ họa
cho GPU(đơn vị xử lý đồ họa) có trong card đồ họa của máy tính. Điều này làm giảm
khối lượng công việc trên bộ xử lý của máy tính. Hỗ trợ những đồ họa vector cơ sở và hỗ
trợ vẽ mô các mô hình 3D và tương tác trong ứng dụng 2D. Nội dung tương tác 2D có thể
được phủ lên bề mặt 3D một cách tự nhiên.
b. Tính tương tác giữa các thành phần
• WPF cung cấp thao tác với các hàm windows API: thông qua hosting, ta có thể
sử dụng WPF bên trong mã Win32 có sẵn, hoặc ta có thể sử dụng mã Win32
bên trong WPF.
• Thao tác với Windows Forms cũng có thể thông qua việc sử dụng những lớp
ElementHost và WindowsFormsHost.
c. Hệ thống dịch vụ truyền thông:
WPF cung cấp những hình dạng gốc cho đồ họa 2D cùng với bộ công cụ cài đặt sẵn:
brush, pen, geometry(hình học) và transform(phép biến đổi).
Các kỹ thuật 3D trong WPF là một nhóm các chức năng đầy đủ cung cấp bởi Direct3D.
Tuy nhiên, WPF cung cấp sự tích hợp chặt chẽ hơn với các chức năng khác như là UI, tài
liệu, phương tiện truyền thông. Chính điều này làm cho nó có thể có giao diện đồ họa 3D,
tài liệu 3D, và truyền thông 3D.
WPF hỗ trợ các định dạng hình ảnh phổ biến nhất, cung cấp mặc định những định dạng
video .wmv, .mpeg và một số tập tin .avi.
WPF hỗ trợ những ảnh động dựa trên thời gian, nó ngược với phương pháp ảnh động dựa
trên khung. Điều này tách riêng tốc độ của ảnh động với việc hệ thống trình diễn như thế
nào.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------



GVHD: PGS.TS ĐẶNG MINH ẤT

23

SVTH: ĐÀM THỊ THÚY NGA

d. Ảnh động – Animation
• Ảnh động dựa trên thời gian. Việc vẽ lại các scene (hoạt cảnh) được kích hoạt
thời gian.
• Việc trình diễn thời gian được khởi tạo và quản lý trong WPF.
• Những thay đổi scene được điều phối bằng cách sử dụng StoryBoard.
• Ảnh động có thể được kích hoạt bởi các sự kiện bên ngoài, bao gồm cả hành vi
của người dùng.
• Hiệu ứng ảnh động có thể được định nghĩa trên từng đối tượng cơ sở, cái mà có
thể trup cập trực tiếp từ ngôn ngữ đánh dấu XAML.
e. Ràng buộc dữ liệu – Data binding
• WPF xây dựng sẵn một tập dịch vụ dữ liệu để cho phép người phát triển ứng
dụng có thể ràng buộc và thao tác với dữ liệu trong ứng dụng.
• Những truy vấn LINQ(Language Integrated Query-ngôn ngữ truy vấn tích hợp)
cũng có thể hoạt động như là nguồn dữ liệu cho ràng buộc dữ liệu
• Ràng buộc dữ liệu ko phát sinh trong khi trình diễn. WPF cung cấp những dữ
liệu mẫu để kiểm soát việc trình diễn dữ liệu.
• Một bộ các control được cài đặt sẵn được cung cấp như là một phần của WPF,
chứa các mục như là: button, menu, grids và list box.
• Một khái niệm mạnh mẽ trong WPF đó là sự phân chia logic của một control
với hình thức của chính nó.
o Một mẫu của control có thể bị ghi đè để thay đổi hoàn toàn sự hình thức
trực quan của chính nó
o Một control có thể chứa bất kì control hoặc layout khác nào đó, từ đó
cho phép tạo những control mới.

• Chức năng cho phép dùng lại những mô hình đồ họa, vì thế cho phép ứng dụng
không phải quan tâm đến việc tạo lại các trình diễn.
f. Hình ảnh – Image
WPF có thể truy nhập dễ dàng vào mã WIC(Windows Imaging Component) và các hàm
API cho phép người phát triển viết codec hình ảnh (bộ mã hóa-giải mã) cho những định
dạng tập tin hình ảnh cụ thể.
g. Hiệu ứng – Effect

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------


GVHD: PGS.TS ĐẶNG MINH ẤT

24

SVTH: ĐÀM THỊ THÚY NGA

WPF cung cấp những hiệu ứng ảnh bitmap. Tuy nhiên, chúng được biểu diễn trong phần
cứng ở .NET Frameword 3.5 SP1 hoặc mới hơn. Tính năng GPU(đơn vị xử lý hình ảnh)
giống như pixel shaders không được sử dụng đối với hiệu ứng ảnh bipmap. Những hiệu
ứng đặc biệt như Dropshadows và blurring được cài đặt sẵn.
h. Tài liệu - Document
• WPF hỗ trợ sẵn những tài liệu được đánh số. Nó cung cấp một lớp
DocumentReader. Lớp này sử dụng cho việc đọc những tài liệu đã fixed. Lớp
FlowDocumentReader cung cấp các chế độ xem khác nhau như là: từng trang
hoặc có thể dùng thanh cuộn…
• Hỗ trợ sẵn các tài liệu XML Paper Specification(Đặc tả văn bản XML)
• Hỗ trợ đọc và viết những tài liệu tự đánh số sử dụng Open Packaging
Convention .
i. Văn bản – Text

WPF bao gồm một số những chức năng vẽ và in văn bản mà chúng không có trong GDI.
Đây là giao diện lập trình Windows đầu tiên sử dụng những chức năng OpenType cho
những nhà phát triển phần mềm, hỗ trợ cả các font như: OpenType, TrueType và open
CFF (Compact Font Format). Trong OpenType bao gồm các chức năng như: ghép chữ,
những biến Swash, phân số, chỉ số trên và chỉ số dưới, tô màu kí tự….
WPF xử lý văn bản trên Unicode. Xây dựng những font chữ quốc tế từ những font chữ
phức hợp bằng cách sử dụng một nhóm các font chữ ngôn ngữ đơn đưa vào những font
chữ phức hợp. Thông tin nối font và lưu font được lưu trữ trong một tệp XML. Các tệp
XML đã được mở rộng thành .CompositeFont.
Công cụ văn bản trong WPF cũng hỗ trợ sẵn chức năng spell-checking. Nó cũng hỗ trợ
một số chức năng như tự động giãn các dòng, tách từ, hiệu ứng ảnh bitmap, các phép biến
đổi, hiệu ứng chữ (như quay, tạo bóng, tạo mờ…), căn lề… Những văn bản động cũng
được hỗ trợ. Ngoài ra, WPF sử dụng công nghệ ClearType.

-------- Thiết lập trình diễn Windows - Windows Presentation Foundation --------



×