Apakah ada cara untuk \n
membuat pemutusan baris di a TextBlock
?
<TextBlock Text="line1\nLine2" />
Atau apakah ada cara yang lebih baik untuk memaksa pemutusan garis tengah, di dalam Text
atribut?
<LineBreak />
Ini tidak berfungsi untuk saya, ini harus berupa nilai Text
atribut, karena string teks disetel dari sumber luar.
Saya kenal LineBreak
tetapi itu bukan jawaban yang saya cari.
Jawaban:
Saya tahu ini membangkitkan kembali pertanyaan lama, tetapi saya memiliki masalah yang sama. Solusi bagi saya adalah menggunakan feed baris yang dikodekan HTML (
&#10;
).Line1&#10;Line2
Seperti
Untuk mengetahui lebih banyak karakter yang dikodekan HTML, lihat w3schools
sumber
<TextBlock>
dan</TextBlock>
ya, Anda akan membutuhkannya<LineBreak/>
.
bekerja di dalamText
atribut:<TextBlock Text="..." />
Coba ini:
<TextBlock> line1 <LineBreak /> line2 </TextBlock>
sumber
Cara termudah adalah
<TextBlock> blabla <LineBreak /> coucou <LineBreak /> coucou 2 </TextBlock>
Jadi Anda tinggal menulis kode XAML, dan
<LineBreak />
memiliki arti yang sama persisdi HTML atau "\ n" di C #.
sumber
<LineBreak/>
http://www.longhorncorner.com/UploadFile/mahesh/XamlLineBreak06092005152257PM/XamlLineBreak.aspx
sumber
Bagaimana kalau memecah baris menjadi dua tag?
<StackPanel> <TextBlock Text="Line1" /> <TextBlock Text="Line2" /> </StackPanel>
sumber
<LineBreak /> tidak akan berfungsi jika berada di dalam koleksi seperti Grid atau StackPanel. Dalam kasus seperti itu, berikut ini akan berfungsi seperti yang ditunjukkan:
sumber
Cara yang benar untuk menggunakannya mungkin sebagai berikut:
<TextBlock> <Span>text1</Span> <LineBreak/> <Span>text2</Span> </TextBlock>
sumber
<HyperlinkButton Content="Apply and restart this pplication! Note that modifying these settings requires the application to be restarted." />
Cara sederhana CRLF =
!
!
- Bekerja pada semua kontrol wpf, xaml, silverlight seperti TextBlock, HyperlinkText, dan lainnyasumber
Jika Anda mengikat Teks TextBlock, tidak ada jawaban lain yang berfungsi. Cukup tambahkan '\ n' ke teks penjilid ke tempat yang ingin Anda putuskan.
sumber
Ini juga berfungsi dengan baik:
<TextBlock> <Run Text="My nice text"/> <LineBreak/> <LineBreak/> <Run Text="After some linebreaks, I'm back!"/> </TextBlock>
sumber
cukup gunakan kontrol AccessText. Anda dapat menggunakannya seperti label dan Anda memiliki properti TextWrapping = "WrapWithOverflow"
misalnya.
Punyaku seperti itu dan berfungsi dengan baik. Selain itu, Anda tidak memiliki masalah dalam mengubah teks secara dinamis.
sumber
Saya terlambat ke pesta tetapi .. kurang lebih begini cara saya melakukannya, (ingat ItemSources saya adalah string biasa, tidak diformat, dan saya tidak perlu 'convertBack' apa pun)
public class SpaceToLineBreakConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { return (!String.IsNullOrEmpty(value as string)) ? new Regex(@"\s").Replace(value as string, "\n") : value; } public object ConvertBack(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
sumber
Saya mengalami masalah serupa dan ingin mengikat String markup xaml ke TextBlock. Intinya menyimpan markup deklaratif di dalam TextBlock dalam string untuk digunakan nanti.
Beginilah yang saya lakukan : Saya membuat subclass TextBlock untuk membuat InlineCollection dapat diikat dan menulis Konverter antara string dan InlineCollection (atau sebenarnya daftar umum Inlines.)
sumber
ini
&#10;
tidak berhasil untuk saya, ketika saya menggunakan penjilidan. Tapi ini berhasil:$"first line {Environment.NewLine} second line"
sumber