2010-02-24 40 views

Trả lời

6

Kiểu kiểm soát các thuộc tính riêng lẻ của điều khiển. Ví dụ: một kiểu nút có thể nói, "Đối với mỗi nút, hãy sử dụng nền này". Một kiểu đang thay đổi một thuộc tính duy nhất trên một điều khiển.

Mẫu kiểm soát thực sự xử lý cách kiểm soát hiển thị dữ liệu ràng buộc của nó. Thay vì nói, "Tôi muốn ghi đè lên các thuộc tính của điều khiển", bạn đang lắp ráp các điều khiển nhỏ khác nhau vào một điều khiển đơn có thể trình bày các khung nhìn khác nhau của dữ liệu bị ràng buộc.

Trước đây trong WinForms, nếu bạn muốn viết một hộp danh sách tùy chỉnh (có biểu tượng bên cạnh mỗi mục), bạn phải kế thừa từ điều khiển ListView và ghi đè lên các phương thức vẽ. Điều này liên quan đến một tấn thử nghiệm - đau đớn rất lớn. Với các mẫu WPF, bạn có thể sử dụng XAML để xây dựng các điều khiển nhỏ hơn với nhau và liên kết chúng với các thuộc tính khác nhau của điều khiển cha. Bạn đang thực sự xác định Visual Tree cho điều khiển.

Xem this bài viết để có giải thích sâu sắc của Charles Petzold.

+0

Xin chào, cảm ơn rất nhiều về giải thích chi tiết và liên kết đến bài viết. Tôi sẽ xem xét nó ngay khi có thể. –

3

Hãy tưởng tượng quyền kiểm soát của bạn là một ngôi nhà.

A Style là khái niệm tương tự như đặt xuống thảm mới và tô các bức tường. Bản thân ngôi nhà vẫn như cũ nhưng ngoại hình của nó thì khác.

A ControlTemplate tương đương với việc đập xuống tường hoặc thêm nhà kính. Cấu trúc thực tế của ngôi nhà đã thay đổi.

Sử dụng Style khi bạn muốn thay đổi giao diện bên ngoài của điều khiển E.G. đó là màu nền hoặc độ dày của đường viền.

Sử dụng ControlTemplate khi bạn cần thay đổi cấu trúc cơ bản của điều khiển. Điều này rất hữu ích khi bạn muốn thay đổi cách bố trí các khía cạnh nhất định của điều khiển. Một ví dụ điển hình là trong bài viết this tái tạo mẫu TabControl để trông giống như trình điều hướng từ Microsoft Outlook.

Các vấn đề liên quan