Tải bản đầy đủ (.pdf) (23 trang)

Bài giảng Phát triển ứng dụng giao diện - Windows Presentation Foundation (Tiếp theo)

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 (348.19 KB, 23 trang )

Phát triển Ứng dụng Giao diện
Windows Presentation Foundation (WPF)
(tiếp theo)


Nội dung
 Ngôn ngữ XAML
 Layout

 Controls
 Data Binding


Ngôn ngữ XAML
 XAML (eXtensible Application Markup Language)

là biến thể của Microsoft XML để mô tả giao diện
người dùng (GUI).
 Giúp cho dễ dàng viết và chỉnh sửa giao diện giống
HTML (không phụ thuộc vào ngôn ngữ lập trình xử
lý).
 Ngày nay XAML được sử dụng để tạo giao diện
người dùng trong WPF, Siverlight, đặc tả workflows
trong WF và cho electronic paper trong tiêu chuẩn
XPS.


Ngôn ngữ XAML (tt)
 Tất cả những gì có thể làm với XAML thì có thể

hoàn thành với code. XAML là một cách khác để


khai báo và khởi tạo đối tượng. Có thể sử dụng
WPF mà không cần XAML.
 Sử dụng XAML có ưu điểm sau
 XAML thì ngắn gọn và dễ đọc.

 Phân tách rõ giữa mã thiết kế và logic.
 Các công cụ chuyên thiết kế giao diện như Microsoft

Blend sử dụng XAML.
 Việc tách biệt mã thiết kế và logic giúp tách biệt rõ
ràng vai trò của nhà thiết kế và lập trình viên.


Ngôn ngữ XAML (tt)
 So sánh giữa XAML với code thuần túy
 XAML

Welcome to the World of XAML




Ngôn ngữ XAML (tt)
 Code thuần
// tạo bộ chứa
StackPanel stackPanel = new StackPanel();

this.Content = stackPanel;
// tạo hiện chuỗi
TextBlock textBlock = new TextBlock();

textBlock.Margin = new Thickness(10);
textBlock.Text = "Welcome to the World of XAML";
stackPanel.Children.Add(textBlock);
// tạo button
Button button = new Button();
button.Margin = new Thickness(20);

button.Content = "OK";
stackPanel.Children.Add(button);


Ngôn ngữ XAML (tt)
 Sử dụng thiết lập properties bởi các Elements

(yếu tố, phần tử XML). Điều này giúp cho việc tạo
các đối tượng phức hợp (complex object) dễ dàng.
 Ví dụ:



Ngôn ngữ XAML (tt)
 Chuyển đổi kiểu ngầm định (implicit): đây là một

kiến trúc mạnh mẽ của WPF. Chúng được thực hiện
ngầm hoàn toàn.

 Ví dụ:



 Ở trên thì Blue chỉ là một chuỗi sẽ được

BrushConverter chuyển đổi ngầm định thành
System.Windows.Media.Brushes.Blue.
 Tương tự đó với đối tượng Thickness.
 Trong WPF có rất nhiều loại chuyển đổi ngầm định
sẵn. Tuy thế vẫn có thể tự tạo kiểu chuyển đổi riêng.


Ngôn ngữ XAML (tt)
 Case Sensitive (phân biệt hoa thường) và khoảng

trắng.
 Trong XAML luôn phân biệt hoa thường với các thành

phần Object Element, Property, Property Element....
 Riêng với giá trị trong XAML có thể không phân biệt
hoa thường vì phụ thuộc vào bộ chuyển đổi kiểu ngầm
định.
 Ví dụ: có thể viết “true” hay “True” đều được.

 Ngoài ra XAML tự loại bỏ các khoảng trắng dư thừa.


Ngôn ngữ XAML (tt)
 Markup Extensions (Phần đánh dấu mở rộng) là một


khái niệm của XAML, nó là dynamic placeholders cho
giá trị thuộc tính trong XAML. Nó quyết định giá trị
property vào thời điểm chạy (runtime).
 WPF tích hợp một vài Markup Extensions như:
Binding: để ràng buộc giá trị của 2 properties khác nhau.
StaticResource: resource không cập nhật.
DynamicResource: resource có cập nhật.
TemplateBinding: để ràng buộc property của control
template với dependency property của control.
 x:Static: quyết định giá trị của một static property.
 x:Null: trả về giá trị null.
 Ví dụ:






×