This article is currently in the process of being translated into Vietnamese (~99% done).
Introduction
Đến giờ trong phần hướng dẫn này, chúng ta chỉ dùng những control có sẵn trong WPF framework. Chúng sẽ giúp bạn một chặng đường RẤT dài, bởi vì chúng rất linh hoạt và có thể được style và template để lảm hầu như mọi thứ. Tuy nhiên, tại một thời điểm nào đó, bạn sẽ rất có thể sẽ có lợi từ việc tạo những control của riêng bạn. Trong những framework giao diện khác, việc này hơi lằng nhằng, nhưng WPF làm cho việc này khá dễ dàng, cho bạn hai cách để hoàn thành công việc này: UserControls và Custom controls.
UserControls
WPF UserControls kế thừa từ lớp UserControls và hoạt động rất giống như WPF Window: Bạn có một tệp XAML và một tệp Code-behind. Trong tệp XAML, bạn có thể thêm WPF controls có sẵn để tạo cái nhìn bạn muốn và phối hợp với code ở trong file Code-behind, để đạt được chức năng bạn mong muốn. WPF rồi sẽ cho phép bạn sử dụng các chức năng trong một hoặc vài nơi trong ứng dụng của bạn, cho phép bạn nhóm và sủ dụng lại chức năng trong (những) ứng dụng của bạn.
Custom controls
Custom controls ở một mức độ thấp hơn so với UserControls. Khi bạn tạo một Custom control, bạn kế thừa lại từ một lớp có sẵn, tùy theo độ sâu bạn cần. Trong nhiều trường hợp, bạn có thể kế thừa lại từ lớp Control mà những WPF control khác cũng kế thừa từ (v.d. TextBox), nhưng nếu bạn cần đi sâu hơn nữa, bạn có thể kế thừa lại FrameworkElement hoặc UIElement. Càng sâu bạn đi, bạn càng có nhiều điều khiển bạn có được và càng ít tính năng được kế thừa.
Cái nhìn của Custom control thường được điều khiển qua những style trong tệp theme, trong khi cái nhìn của User control sẽ theo dõi giao diện của những phần còn lại của ứng dụng. Nó cũng làm nổi bật một trong những điểm khác biệt giữa UserControl và Custom control: Custom control có thể style/template, trong khi UserControl không thể.
Tóm lược
Tạo ra những control sử dụng lại được trong WPF rất dễ dàng, nhất là nếu bạn sử dụng cách UserControl. Trong bài viết tiếp theo, chúng ta sẽ xem nó dẽ như thế nào để tạo UserControl và sau đó dùng nó trong ứng dụng của bạn