Văn bản WPF Wrap vs WrapWithOverflow


170

Sự khác biệt "về khái niệm" giữa TextWrapping="Wrap"TextWrapping="WrapWithOverflow"(ví dụ đối với TextBox) là gì? Trong trang MSDN về lớp TextBox không có gì ... Cảm ơn bạn.

Câu trả lời:


187

MSDN

WrapWithOverflow Ngắt dòng xảy ra nếu dòng tràn vượt quá chiều rộng khối có sẵn. Tuy nhiên, một dòng có thể vượt quá độ rộng khối nếu thuật toán ngắt dòng không thể xác định cơ hội ngắt dòng, như trong trường hợp một từ rất dài bị ràng buộc trong một thùng chứa có chiều rộng cố định mà không cho phép cuộn.
NoWrap Không có gói dòng được thực hiện.
Ngắt ngắt dòng xảy ra nếu dòng tràn vượt quá độ rộng khối có sẵn, ngay cả khi thuật toán ngắt dòng tiêu chuẩn không thể xác định bất kỳ cơ hội ngắt dòng nào, như trong trường hợp một từ rất dài bị ràng buộc trong một thùng chứa có chiều rộng cố định không cho phép cuộn.

Hi vọng điêu nay co ich


11
Tôi biết câu hỏi này được gửi trực tiếp tại WPF, nhưng tôi nghĩ có lẽ đáng lưu ý rằng WrapWithOverflownó không được hỗ trợ trong Silverlight. Chỉ WrapNoWrapđược hỗ trợ trong Silverlight. msdn.microsoft.com/en-us/l
Library / từ

3
Tôi đọc nó và tôi vẫn không chắc chắn về sự khác biệt. Là ý tưởng cơ bản WrapWithOverFlowsẽ không phá vỡ từ, nhưng Wrapsẽ?
Brian J

6
@BrianJ - Xem câu trả lời của tôi cho một số ví dụ.
ken

317

Vài ví dụ:

Đây là phiên bản gốc, chưa mở:

Không gói


Đây là NoWrap.

NoWrap


Đây là Wrap. Các từ RemoveSampleđã được bao bọc tại vele, tương ứng, mặc dù không có cơ hội ngắt dòng.

Bọc


Đây là WrapWithOverflow. Các velekhông nhìn thấy được (họ tràn chiều rộng khối có sẵn) vì không có cơ hội ngắt dòng. Trong Allcả hai trường hợp, đã được bọc bởi vì spacenhân vật là một cơ hội ngắt dòng.

WrapWithOverflow


Biên tập:

Như được đề xuất trong các bình luận, đây là một số ví dụ về cách Wrapxử lý không gian. Khi Width100, WrapWrapWithOverflowgiống hệt nhau. Wrapxử lý khoảng trống giữa widerexamplenhư một cơ hội ngắt dòng, do đó, exampleđược đặt trên một dòng mới để bảo toàn toàn bộ từ liên tục.

nhập mô tả hình ảnh ở đây


5
Câu trả lời này sẽ được hưởng lợi từ việc bao gồm thêm một ví dụ nút (rộng hơn) trong mỗi chế độ có ngắt khoảng trắng hợp lệ. Nhìn thoáng qua, nó ngụ ý rằng Wraphoàn toàn bỏ qua các khoảng trắng, nhưng điều đó không đúng.
Scott Stafford

8

Một điều cần thêm vào các câu trả lời khác, WrapWithOverflow cho phép bạn sử dụng cắt xén văn bản (dấu chấm lửng) trên các từ dài bị cắt bỏ:

nhập mô tả hình ảnh ở đây

<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
    A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.