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:
var btn = new Button(); btn.Background = Brushes.Red; btn.Content = “No”;
Vậy câu hỏi đặt ra là XAML có ý nghĩa gì ? Câu trả lời là việc xây dựng các công cụ sinh và sử dụng các đặc tả bằng XAML dễ dàng hơn nhiều so với xây dựng một công cụ tương tự làm việc với đoạn mã. Điều đó giải thích vì sao có sự ra đời của bộ công cụ Microsoft Expression Studio, bộ công cụ hỗ trợ trong việc thiết kế giao diện xây dựng trên nền tảng XAML. Expression Studio kết hợp cùng với Microsoft Visual Studio hỗ trợ phần code-behind của XAML để xử lý sự kiện cho các đối tượng UI mang đến sự hợp tác chặt chẽ cho Designer và Developer.
XAML không những kế thừa những điểm mạnh của ngôn ngữ đánh dấu mà nó còn có các tính năng mới nổi bật so với các ngôn ngữ đánh dấu cũ được thể hiện ở:
Sự thể hiện giao diện của XAML là rất tốt. XAML có thể thể hiện các control cơ bản như Button, Label, Textbox,… trong các khung như Panel, Grid,…
Bảng 1.1 cho thấy sự khác nhau giữa HTML và XAML khi thể hiện một Button và một Label.
Không chỉ thể hiện được các Control cơ bản, XAML còn thể hiện được các nét vẽ phức tạp hơn mà bảng 1.2 thể hiện. Nhìn vào bảng 1.2, ta thấy XAML khá giống với các ngôn ngữ thể hiện ảnh vector khác. Điều này rất hữu ích cho việc convert từ các định dạng cũ sang định dạng XAML, việc tái sử dụng sẽ trở nên tốt hơn rất nhiều.
Đặc biệt, XAML còn có thể thể hiện được các cảnh 3D nhờ sự hỗ trợ của các góc nhìn khác nhau, phương chiếu sáng, mắt lưới và ma trận chuyển đổi.
Khả năng thể hiện giao diện của XAML là rất tuyệt vời, tuy nhiên điểm đáng chú ý nhất của XAML lại không phải nằm ở đó mà nằm ở khả năng hỗ trợ: style, trigger, template, data binding và animation. Chính những khả năng này mới giúp Developer và Designer làm việc song song với nhau một cách hiệu quả nhất trong cùng một ứng dụng.
XAML đã đập tan bức tường ngăn cách giữa Designer và Developer. Một ứng dụng có sự kết hợp giữa Designer và Developer đều có bước tích hợp kết quả làm việc của đôi bên. Để thấy được vai trò của XAML ta hãy cùng nhau phân tích quá trình tích hợp này trong ứng dụng WPF và ứng dụng cũ trước đây:
Ta có thể thấy với ứng dụng theo lối truyền thống cũ thì công việc của cả Developer lẫn Designer đều rất nặng, yêu cầu cả 2 bên phải có hiểu biết về nhiều công cụ. Hai bên làm việc lại không có một sự thống nhất chung, chính vì vậy khi tích hợp sẽ rất khó khăn, mất thời gian và có thể phải làm lại. Còn trong quá trình phát triển ứng dụng WPF, công việc của Designer và Developer đều được giảm nhẹ. Ngoài ra, giữa Developer và Designer còn chia sẻ với nhau đoạn mã XAML chung, chính vì vậy trong suốt quá trình xây dựng phần mềm, cả hai bên luôn có sự thống nhất cần thiết.
K2C6 Team's Blog: http://k2c6.info