Windows Presentation Foundation

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Windows Presentation Foundation (viết tắt là WPF) do Microsoft phát triển, là công nghệ kế tiếp Windows Form dùng để xây dựng các ứng dụng dành cho máy trạm chạy hệ điều hành Windows. WPF được giới thiệu từ năm 2006 trong.NET Framework 3.0 (dưới tên gọi Avalon), công nghệ này nhận được sự quan tâm của cộng đồng lập trình viên bởi nhiều điểm đổi mới trong lập trình ứng dụng và khả năng xây dựng giao diện thân thiện, sinh động. Tại Việt Nam, WPF thực sự chưa phát triển so với nhánh khác là Silverlight (WPF/E).

WPF sử dụng 2 thư viện lõi là PresentationCore và PresentationFramework để xử lý các điều hướng, ràng buộc dữ liệu, sự kiện và quản lý giao diện. WPF dựa trên nền tảng đồ họa là DirectX, xử lý vector, hỗ trợ gam màu rộng, cho phép tùy biến giá trị opacity hay tạo gradient một cách dễ dàng, cho phép tạo ảnh không gian 2 chiều hoặc 3 chiều. Thư viện thực thi của WPF tự động tính toán và tận dụng tài nguyên của hệ thống một cách tối ưu nhất để giảm tải cho CPU.

Ngoài ra, WPF hỗ trợ tốt hơn Winform trong việc xử lý hình ảnh, âm thanh, video, quản lý phông chữ, quản lý hiển thị và chỉnh sửa văn bản. Các control trong WPF có thể được lồng ghép linh động để tạo ra giao diện do được viết bằng XAML. Một ứng dụng WPF có thể được xây dựng để chạy độc lập dưới dạng mở rộng EXE hoặc đóng gói với phần mở rộng là XBAP để có thể tích hợp lên website.

Thư viện thực thi WPF được tích hợp trong tất cả các hệ điều hành kể từ Windows VistaWindows Server 2008.

Cho đến thời điểm hiện tại, WPF có 5 phiên bản: WPF 3.0 (11-2006), WPF 3.5 (11-2007), WPF 3.5sp1 (8-2008), WPF 4 (4-2010), và WPF 4.5 (8-2012).

Thành phần[sửa | sửa mã nguồn]

Direct3D[sửa | sửa mã nguồn]

Đồ họa và giao diện dựa trên Direct3D cho phép hiển thị các xử lý điểm - ảnh phức tạp hơnGDI's. Công nghệ này cho phép chia sẻ tác vụ xử lý cho GPU và giảm tải CPU.

Data Binding (Liên kết dữ liệu)[sửa | sửa mã nguồn]

Data binding là điểm nổi bật của WPF trong việc liên kết dữ liệu của ứng dụng. Tùy theo mục đích của chương trình, lập trình viên có thể xử lý liên kết theo 3 loại:

    1. one time: Chỉ tải dữ liệu 1 lần khi ứng dụng được thực thi.
    2. one way: Ứng dụng chỉ có nhiệm vụ hiển thị dữ liệu, mọi cập nhật từ phía người dùng sẽ không được lưu trữ.
    3. two way: Dữ liệu có thể được lấy và cập nhật từ phía người dùng.

Đa phương tiện[sửa | sửa mã nguồn]

WPF cho phép xây dựng chương trình với sự hỗ trợ vector, xử lý hình ảnh, âm thanh, video, đồ họa 2D, 3D.

    • Đồ họa 2D: brushes, pens, geometries, và transforms.
    • Đồ họa 3D
    • Hình ảnh: hỗ trợ các định dạng: BMP, JPEG, PNG, TIFF, Windows Media Photo, GIF và ICON.
    • Video: hỗ trợ WMV, MPEGAVI. Xử lý tốt hơn nếu Windows Media Player đã được cài và tích hợp codec.

Templates[sửa | sửa mã nguồn]

Dữ liệu trong WPF có thể được định nghĩa để hiển thị theo yêu cầu thông qua các thuộc tính (properties) và việc định nghĩa template, style cho các control.

  • HierarchicalDataTemplate
  • ItemsPanelTemplate
  • ControlTemplate
  • DataTemplate

Hiệu ứng[sửa | sửa mã nguồn]

WPF hỗ trợ hiệu ứng dựa trên thời gian thực thi của chương trình, thay vì frame-based. Các hiệu ứng đơn giản có thể cử lý bằng việc quản lý thời gian chạy, còn các xử lý phức tạp hơn cần đến sự hỗ trợ của lớp Animation.

  • Tất cả các thuộc tính của đối tượng trong WPF đều có thể được xử lý để trở nên sinh động hơn, miễn là nó thuộc loại Dependency Property.
  • Các lớp quản lý hiệu ứng tùy theo loại của thuộc tính được xử lý. Ví dụ, việc thay đổi màu sắc của control sẽ do lớp ColorAnimation hay thay đổi chiều dài hoặc chiều rộng do lớp DoubleAnimation đảm nhiệm.

Các hiệu ứng có thể được gom nhóm vào Storyboards và gán cho đối tượng và lớp này điều khiển việc bắt đầu hoặc dừng các hiệu ứng thông qua các phương thức tương ứng (Start, Stop, Pause...). Hiệu ứng cho ứng dụng có thể được viết trên giao diện bằng XAML hoặc định nghĩa bằng C#.

Kiến trúc[sửa | sửa mã nguồn]

Kiến trúc của WPF

Công cụ phát triển[sửa | sửa mã nguồn]

Triển khai[sửa | sửa mã nguồn]

Hỗ trợ triển khai dưới dạng chạy độc lập trên máy trạm hoặc nhúng vào website.

    • MSI, EXE
    • XAML Browser Applications XBAP:.NET 3.0 chỉ hoạt động với Internet Explorer, WPF.NET 3.5 có thể chạy trên Mozzila Firefox thông qua plug-in, tuy nhiên đối với Windows 7 cần cài đặt lại.NET framework.

Liên kết ngoài[sửa | sửa mã nguồn]