WPF metin Wrap vs WrapWithOverflow


171

TextWrapping="Wrap"Ve TextWrapping="WrapWithOverflow"(örneğin bir TextBox için) arasındaki "kavramsal" fark nedir? TextBox sınıfıyla ilgili MSDN sayfasında hiçbir şey yok ... Teşekkürler.

Yanıtlar:


189

MSDN

WrapWithOverflow Satır kesilmesi , çizgi kullanılabilir blok genişliğinin ötesine taşarsa oluşur. Bununla birlikte, eğer çizgi kırma algoritması, kaydırma yapılmasına izin verilmeyen sabit genişlikli bir kapta sınırlandırılmış çok uzun bir kelime durumunda olduğu gibi, bir satır kesme fırsatını belirleyemezse, bir satır blok genişliğinin ötesine taşabilir.
NoWrap Satır kaydırma yapılmaz.
Sarma Satır kesme, standart satır kesme algoritması herhangi bir satır kesme fırsatını belirleyemese bile, kaymaya izin verilmeyen sabit genişlikli bir kapta kısıtlanmış çok uzun bir kelime durumunda bile, satır mevcut blok genişliğinin ötesine taşarsa oluşur.

Bu yardımcı olur umarım


11
Bu sorunun WPF'ye yönlendirildiğini biliyorum, ancak WrapWithOverflowSilverlight'ta desteklenmediğini belirtmeye değer olabilir . Yalnızca Wrapve NoWrapSilverlight'ta desteklenir. msdn.microsoft.com/en-us/library/…
blachniet

3
Bunu okudum ve farktan hala emin değilim. WrapWithOverFlowKelimeleri kırmayacak, ama kıracak temel fikir Wrapmi?
Brian J

6
@BrianJ - Bazı örnekler için cevabımı görün.
ken

317

Bazı örnekler:

Bu orijinal, paketlenmemiş versiyon:

Sargı yok


Bu NoWrap.

Kaydırma yok


Bu Wrap. Kelimeleri Removeve satır kesme fırsatı olmamasına rağmen sırasıyla ve , Samplesarılmış .vele

Paketlemek


Bu WrapWithOverflow. veVe lebir hat kesme olanağı yoktur, çünkü (onlar blok genişliği taşma) görünür değildir. Her Alliki durumda da, spacekarakter bir satır sonu fırsatı olduğu için kaydırıldı .

WrapWithOverflow


Düzenle:

Yorumlarda önerildiği gibi, Wrapmekanlara nasıl davranıldığına dair bazı örnekler . Ne Widtholduğunu 100, Wrapve WrapWithOverflowaynıdır. satır sonu fırsatı Wraparasındaki widerve examplesatır aralığı olarak davranır , böylece exampletüm sürekli kelimeyi korumak için yeni bir satıra konur.

resim açıklamasını buraya girin


5
Bu yanıt, geçerli bir boşluk aralığına sahip her modda bir (daha geniş) düğme örneği eklemekten fayda sağlayacaktır. Bir bakışta, Wrapboşluk boşluklarını tamamen görmezden gelir , ancak bu doğru değildir.
Scott Stafford

8

Diğer cevaplara eklenecek bir şey olan WrapWithOverflow, kesilen uzun kelimeler üzerinde metin kırpma (üç nokta) kullanmanızı sağlar:

resim açıklamasını buraya girin

<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
    A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.