Trong bài này, csharpcanban.com sẽ giúp các bạn so sánh được ưu nhược điểm của XAML so với cách viết code bằng C#.
Công nghệ WPF đã hỗ trợ lập trình viên ngôn ngữ XAML, để tìm hiểu XAML là gì, hãy tham khảo bài viết sau:
[WPF] XAML là viết tắt của chữ gì ?
Trong WPF chúng ta có thể sử dụng XAML để tạo, khởi tạo và thiết lập các thuộc tính của các đối tượng. Tương tự như vậy, chúng ta cũng có thể tạo, khởi tạo và thiết lập các thuộc tính của các đối tượng bằng mã C#.
Dưới đây csharpcanban.com sẽ nêu ra một ví dụ cụ thể, để các bạn tiện theo dõi và so sánh giữa 2 cách viết mã, và tự rút ra được kết luận so sánh giữa 2 cách với nhau.
Trong ví dụ này chúng ta sẽ tạo ra một TextBox và một Button bằng XAML và C#.
Nội dung
1, Cách tạo đối tượng bằng XAML:
<Window x:Class = "XAMLVsCode.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "525"> <StackPanel> <TextBlock Text = "Welcome to XAML Tutorial" Height = "20" Width = "200" Margin = "5"/> <Button Content = "Ok" Height = "20" Width = "60" Margin = "5"/> </StackPanel> </Window>
Trong ví dụ này, chúng ta đã tạo ra một Stack Panel, và trên Stack Panel này chứa đối tượng TextBlock có các thuộc tính: Text = “Welcome to XAML Tutorial” Height = “20” Width = “200” Margin = “5”.
và đối tượng Button có các thuộc tính: Content = “Ok” Height = “20” Width = “60” Margin = “5”.
Sau khi nhấn F5 để chạy chương trình ta thu được kết quả như sau:
2, Cách tạo ra đối tượng bằng mã C#
Để tạo ra một Stack Panel chứa các đối tượng TextBlock và Button như trên bằng mã C# ta thực hiện như sau:
using System; using System.Text; using System.Windows; using System.Windows.Controls; namespace XAMLVsCode { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // Create the StackPanel StackPanel stackPanel = new StackPanel(); this.Content = stackPanel; // Create the TextBlock TextBlock textBlock = new TextBlock(); textBlock.Text = "Welcome to XAML Tutorial"; textBlock.Height = 20; textBlock.Width = 200; textBlock.Margin = new Thickness(5); stackPanel.Children.Add(textBlock); // Create the Button Button button = new Button(); button.Content = "OK"; button.Height = 20; button.Width = 50; button.Margin = new Thickness(20); stackPanel.Children.Add(button); } } }
Sau khi biên dịch và chạy chương trình (nhấn F5) ta thu được kết quả như sau:
3, Lời kết
Với 2 cách khác nhau nhưng cho ra một kết quả như nhau, nhưng với XAML thì đơn giản hơn nhiều thể hiện được sự mạnh mẽ của ngôn ngữ này.
Chúc các bạn thành công