2013-08-22 25 views
5

Tôi có một giao diện người dùng lớn mà tôi đang thiết kế. Cách mà chủ nhân của tôi muốn nó, có ít nhất 100 nhãn. Bây giờ, tôi đã luôn luôn nghĩ rằng trong trường hợp như thế này, phá vỡ giao diện người dùng thành các điều khiển tùy chỉnh nhỏ hơn là cách lý tưởng để đi. Tuy nhiên, một người nào đó gần đây đã nói với tôi rằng các điều khiển tùy chỉnh thực sự chỉ dành cho việc sử dụng lại mã. Thực tế được đề xuất thực tế cho điều này là gì?Khi nào sử dụng các điều khiển người dùng tùy chỉnh

EDIT

Dạng thành phẩm sẽ giống như thế này:

enter image description here

Bây giờ, tôi đang sử dụng WPF cho giao diện người dùng, và tôi đang nghĩ đến việc phá vỡ này xuống nhỏ hơn bit.

+0

ý của bạn là gì với "có ít nhất 100 nhãn"? Nhãn là các điều khiển có thể tái sử dụng và một số lượng lớn các điều khiển không có nghĩa là cần có một điều khiển tùy chỉnh – Vik

+0

@RichardEv: Tôi đã đăng một hình ảnh về giao diện người dùng. Có rất nhiều nhãn vì đây là cách mà chủ nhân của tôi muốn. Tôi đã nghĩ đến việc phá vỡ nó xuống khoảng 10-14 điều khiển nhỏ hơn. – MyCodeSucks

+0

@Vik: Ý tôi là, giao diện người dùng sẽ chứa "ít nhất 100 nhãn". Trong thực tế, nó nhiều hơn nữa. – MyCodeSucks

Trả lời

2

Dựa trên hình ảnh của bạn tôi thấy một số lần lặp lại, mỗi lần lặp lại này có thể là một UserControl tùy chỉnh

Nhưng nó phụ thuộc vào khả năng sử dụng là nó dễ dàng hơn để viết một UserControl tùy chỉnh để làm điều đó nhưng nếu nó sẽ làm giảm khả năng đọc mã của bạn và nó cũng cho biết thêm thêm phức tạp không làm điều đó

đây là một ví dụ về những gì có thể

những màu xanh lá cây riêng biệt UserControl của là encapsulations hữu ích có thể của logic
những cam có lẽ cần một số không công cụ thị trường (don 'T biết đủ về phần mềm của bạn)
những màu đỏ là những lẽ dựa trên việc sử dụng thực tập sinh (từ phần hình ảnh họ đang lặp đi lặp lại như vậy nên tùy chỉnh UserControl)

enter image description here

0

Vì giao diện người dùng của bạn là chỉ đọc, tôi khuyên bạn nên sử dụng grid.

0

Bạn có quen với WPF không? Để tách View thành bits, WPF cung cấp cho bạn các CustomControls và UserControls. Họ là hai thứ rất giống nhau nhưng hoàn toàn khác nhau. CustomControls là các nút, nhãn, hộp văn bản, DataGrids ... vv. Về cơ bản chúng đơn giản là các điều khiển độc lập. UserControls là nhóm các điều khiển độc lập phục vụ một mục đích như ví dụ một Button và một ComboBox bên cạnh nhau để người dùng có thể chọn một cái gì đó trong ComboBox và xác nhận rằng bằng cách nhấn vào nút.

Nếu bạn muốn hiển thị dữ liệu từ cơ sở dữ liệu tôi đề nghị bạn DataGrid sẽ cung cấp cho bạn một cái nhìn giống như bảng với các hàng và cột và tất cả điều đó. Nếu bạn muốn đặt vài nút bên cạnh DataGrid mà người dùng có thể nhấp vào để chèn hàng mới hoặc chỉnh sửa một ô nhất định thì tôi khuyên bạn nên bao bọc tất cả những thứ đó bằng UserControl mà bạn có thể sử dụng lại ở những nơi khác mà bạn phải hiển thị và thay đổi dữ liệu từ cơ sở dữ liệu.

0

Bạn nên sử dụng bảng dữ liệu và có thể tùy chỉnh mẫu của nó để hiển thị các ô riêng lẻ dưới dạng Textblock (phiên bản nhẹ hơn của Nhãn) từ phối cảnh kết xuất. Sự khác biệt chính giữa Textblock và Label là những thứ rất nhỏ như các phím truy cập và hành vi trạng thái bị vô hiệu hóa. Nhưng từ một hệ thống phân cấp đối tượng WPF - Textblocks nhẹ hơn nhiều. Nhưng ngoài điểm đó - từ quan điểm của nhà tuyển dụng - một khi bạn đã tùy chỉnh mẫu lưới và hiển thị chúng (để chúng trông như textblocks/labels) - nhà tuyển dụng của bạn không có vấn đề gì.

Cũng như ai đó gợi ý ở trên - nếu bạn muốn một cách logic phá vỡ các phần của giao diện người dùng kể từ khi họ có thể đến từ một bảng khác nhau trong db - sau đó điều khiển tài khoản là con đường để đi (đối với bảo trì mã)

Lết tôi biết nếu bạn đang tìm kiếm thêm chi tiết kỹ thuật hoặc cần trợ giúp thêm về mặt kỹ thuật.

0

Không có gì sai trong việc đưa ra là và sử dụng các điều khiển tùy chỉnh hoặc điều khiển người dùng hoặc xác định một số mẫu dữ liệu sẽ được sử dụng lại tùy thuộc vào cách dữ liệu của bạn được tổ chức.

Để chắc chắn giao diện người dùng trông khá lộn xộn và một số loại lưới nên được sử dụng với các mẫu ví dụ như có dữ liệu tương tự. Tôi cũng có gợi ý và đầu tiên suy nghĩ về dữ liệu và chức năng trước khi bắt đầu và để cho UI được điều khiển bởi điều đó. Để chắc chắn bạn sẽ sử dụng lại các điều khiển/mẫu. Nếu bạn nghĩ trước mô hình và hành vi thì giao diện người dùng có thể dễ dàng thay đổi sau đó. Tạo mô hình chế độ xem của bạn một cách chính xác, thực hiện chức năng trong lệnh, sử dụng các ràng buộc, sau đó giao diện người dùng sẽ tự động, sử dụng lại các điều khiển, sử dụng nhiều lưới, làm cho giao diện người dùng thân thiện hơn bằng nhiều vùng, tab, cửa sổ hoặc bất kỳ thứ gì người dùng thoải mái hơn.

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