Những tính năng mới trong WPF 4


Cung cấp các control mới
Ba loại control mới được thêm vào WPF cho phép dễ dàng tạo ra các ứng dụng kinh doanh. Các control này cũng hầu như 100% tương thích với các phiên bản Silverlight. Điều này cho phép các nhà phát triển có thể dùng lại code và tạo ra các phiên bản client và web nhanh chóng. Các control này bao gồm:

Visual State Manager
WPF cung cấp một sự hỗ trợ tốt hơn cho việc thay đổi trạng thái hiển thị trong một ControlTemplate. Lớp VisualStateManager cùng các lớp hỗ trợ đã được thêm vào cho phép các công cụ như Microsoft Expression Blend có thể dùng để định nghĩa cách hiển thị đối tượng căn cứ theo trạng thái hiển thị của nó. Ví dụ, bạn có thể định nghĩa cách hiển thị của một Button khi nó ở trang thái Pressed. Để có thêm thông tin về việc tạo một ControlTemplate dùng VisualStateManager đối với một control đã có, xem bài Customizing the Appearance of an Existing Control by Creating a ControlTemplate. Thông tin về cách tạo một control mới dùng VisualStateManager, xem bài Creating a Control That Has a Customizable Appearance.
Touch and Manipulation
Các thành phần trong WPF đã bắt đầu hỗ trợ nhập liệu bằng màn hình cảm ứng. Các lớp UIElement, UIElement3D và ContentElement cung cấp các sự kiện phát sinh khi người dùng chạm vàm một màn hình cảm ứng. Các sự kiện sau được định nghĩa trong UIElement và phản hồi lại các thao tác chạm vào màn hình, các sự kiện này cũng được định nghĩa trong UIElement3D và ContentElement.

Ngoài các sự kiện, UIElement cũng hỗ trợ cho một số thao tác. Một thao tác sẽ được thông dịch thành phóng to/thu nhỏ, quay hoặc di chuyển đối tượng. Ví dụ một ứng dụng xem ảnh sẽ cho phép di chuyển, thay đổi hoặc xoay ảnh bằng cách chạm vào bức ảnh trên màn hình. Các sự kiện sau đã được thêm vào lớp UIElement:

Để cho phép các thao tác này, đặt giá trị IsManipulationEnabled thành true. Để có thêm thông tin về cảm ứng, xem Walkthrough: Creating Your First Touch Application.

Đồ họa và hoạt hình
Một số thay đổi liên quan đến đồ họa và hoạt hình:

  • Layout RoundingKhi một cạnh của đối tượng rơi vào chính giữa 2 pixel, hệ thống đồ họa của WPF sẽ dùng một số cách để giải quyết, như làm mờ hay trong mờ. Các phiên bản trước của WPF bao gồm khả năng pixel snapping để giúp xử lý trường hợp này (Dùng SnapsToDevicePixels). Silverlight 2 giời thiệu một tính năng mới là layout rounding, làmột cách khác để di chuyển các element sao cho các cạnh rơi đúng vào các điểm. WPF hiện đã hỗ trợ layout rounding với thuộc tính UseLayoutRounding.
  • Cached CompositionBằng cách dùng các lớp mới BitmapCache và BitmapCacheBrush, bạn có thể đệm một phần phức tạp của visual tree như là một ảnh giúp tăng tốc độ dựng hình rất nhiều. Ảnh bitmap này vẫn có khả năng phản hồi lại các thao tác của người dùng như thao tác click chuột, và bạn có thể vẽ nó lên trên một element giống như một bút vẽ.
  • Hỗ trợ Pixel Shader 3WPF 4 được xây dựng trên ShaderEffect hỗ trợ trong WPF 3.5 SP1 bằng các cho phép các ứng dụng viết ra các hiệu ứng dùng Pixel Shader (PS) 3.0. Mô hình PS 3.0 tinh xảo hơn PS 2.0, nó cho phép tạo ra nhiều hiệu ứng trên các phần cứng hỗ trợ.
Văn bản
Một số thay đổi liên quan đến văn bản:

  • Hệ thống dựng hình văn bản mớiHệ thống dựng hình văn bản trong WPF đã được thay mới hoàn toàn. Việc thay đổi này mang lại những cải tiến trong việc cấu hình khả năng hiển thị, độ rõ, và hỗ trợ đa ngữ. Nó cho phép xác định cụ thể các giá trị như độ mịn, mức xám hay chế độ hiển thị ClearType, ngoài ra nó cũng hỗ trợ dạng thức ký tự được tối ưu cho việc hiển thị, để sinh ra các văn bản với độ sắc nét có thể so được với Win32/GDI. Hệ thống dựng hình mới cho phép tối ưu text hinting (điều chỉnh để hiển thi trên các thiết bị hiển thị dạng lưới) và snapping cho cả văn bản tĩnh hoặc động. Hệ thống này cũng hỗ trợ các font với các ảnh bitmap nhúng thay thế cho các font size nhỏ, cho phép nhiều font châu Á hiển thị sắc nét tương đương với Win32/GDI.
  • Tùy biến chọn văn bản và con trỏ.
Gắn nối
Một số thay đổi và cải tiến liên quan đến gắn nối:
XAML Browser Applications
Hai tính năng mới được thêm vào XAML browser application (XBAPs).
  • HTML-XBAP Script Interop: Hiện bạn đã có thể tương tác với trang web chứa XBAP khi ứng dụng được chứa bên trong một HTML frame. XBAP có thể truy cập sâu vào cây HTML và bắt các sự kiện DOM. Để có thêm thông tin, xin tham khảo BrowserInteropHelper.
  • Full-Trust XBAP Deployment: Nếu XBAP của bạn cần full trust, user sẽ được tự động nhận yêu cầu tăng quyền của ClickOnce khi họ cài đặt ứng dụng từ intranet hay một site tin cậy nào đó.

Xem thêm thông tin tại WPF XAML Browser Applications Overview.

WPF và Windows

Windows 7 taskbar cung cấp các tính năng nâng cao cho phép bạn dùng nút taskbar để truyền đạt thông tin cũng như thực thi một số nhiệm vụ. Các kiểu mới trong namespace System.Windows.Shell cung cấp các lớp wrapper cho các tính năng của thanh taskbar trong Windows 7 và quản lý dữ liệu được truyền đến Windows shell. Ví dụ, kiểu JumpList cho phép bạn làm việc với Jump List và TaskbarItemInfo cho phép làm việc với taskbar thumbnail. Các hộp thoại WPF trên Windows 7 và Windows Vista hiện hỗ trợ look and feel của Windows 7 và Window Vista , bao gồm cả custom place.

WPF và trình thiết kế Silverlight
Trong Visual Studio 2010, có một số cải tiến trong trình thiết kế giúp bạn trong việc tạo các ứng dụng WPF và Silverlight.
  • Nâng cao khả năng hỗ trợ Silverlight: Trong VS 2008, bạn có thể cài đặt Silverlight Tools để tạo các ứng dụng Silverlight trong Visual Studio. Tuy nhiên khả năng hỗ trợ Silverlight bị giới hạn. Trong VS 2010, khả năng hỗ trợ Silverlight và WPF là tương đương. Ví dụ, trong các ứng dụng Silverlight bạn có thể dùng chuột để chọn và đặt các đối tượng vào các vị trí trên cửa sổ thiết kế.
  • Hỗ trợ nhiều phiên bản khác nhau: Trong Visual Studio 2008, các control chỉ hỗ trợ WPF phiên bản mới nhất khi ở chế độ thiết kế. Trong VS 2010, khả năng này được mở rộng cho nhiều nền tảng khác nhau, bao gồm cả WPF 3.5, WPF 4.0, Silverlight 3 và cả các phiên bản trong tương lai.
  • Visual Databinding: Trình hỗ trợ xây dựng gắn nối dữ liệu cho phép tạo ra và chỉnh sửa các gắn nối một cách trực quan mà không phải gõ code XAML.
  • Auto Layout: Các cải tiến về layout bao gồm một khả năng hỗ trợ tạo các Grid trực quan hơn và hỗ trợ tốt hơn cho việc tự động thay đổi kích thước của các user control.
  • Improved Property Editing: Cửa sổ Properties hiện tại đã cho phép tạo và chỉnh sửa các Brush một cách trực quan.

Bạn có thể tham khảo thêm tại WPF Designer.

Theo MSDN

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s