✨Windows Presentation Foundation

Windows Presentation Foundation

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).

alt=dot net three point zero windows stack diagram|thumb|[[.NET Framework 3.0]]

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 để 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 Vista và Windows Server 2008.[http://msdn.microsoft.com/en-us/netframework/bb188202.aspx Microsoft.NET Framework 3.0 Release Notes]

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

Direct3D

Đồ 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)

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 ba loại: # one time: Chỉ tải dữ liệu 1 lần khi ứng dụng được thực thi. # 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ữ. # two way: Dữ liệu có thể được lấy và cập nhật từ phía người dùng. # one way to source: Trái ngược với OneTime, dữ liệu sẽ chỉ được nhận từ Interface.

Đa phương tiệ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, MPEG và AVI. Xử lý tốt hơn nếu Windows Media Player đã được cài và tích hợp codec.

Templates

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

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ể xử 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

thumb|right|Kiến trúc của WPF

Công cụ phát triển

Microsoft Visual Studio Microsoft Expression Blend Microsoft Expression Design XAMLPad XamlPadX v4 SharpDevelop Sybase PowerBuilder.NET [http://snoopwpf.codeplex.com Snoop] [http://wpfinspector.codeplex.com/ WPF Inspector] WPF Graphics Tools [http://www.erain.com/Products/ZAM3D/DefaultPDC.asp ZAM 3D] [http://www.3dpaintbrush.com/content/xaml.aspx 3DPaintBrush]

Triển khai

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.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**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
**Microsoft Visual Studio** là một môi trường phát triển tích hợp (IDE) từ Microsoft. Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng
**.NET Framework** là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft từ năm 2002, kết
**Katalon Studio** là một giải pháp kiểm thử tự động được phát triển bởi Katalon LLC. Phần mềm này được xây dựng dựa trên các khung tự động hóa nguồn mở Selenium, Appium với giao
**Microsoft Silverlight** là một nền tảng ứng dụng (application framework) để viết và chạy các ứng dụng Internet phong phú với sự nhấn mạnh về đa phương tiện, hình động, và đồ họa, với các
Trong giao diện người dùng bằng đồ hoạ (GUI), **thành tố điều khiển đồ họa** (tiếng Anhː **graphical widget**, viết gọn là **widget**, còn được gọi là **control**) là một thành phần dùng để tương