Bahasa
Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kontrol TextBlock menyediakan dukungan teks yang fleksibel untuk aplikasi WPF. Targetkan elemen ini terutama untuk skenario UI dasar yang tidak memerlukan lebih dari satu paragraf teks. Ini mendukung properti yang memungkinkan kontrol presentasi yang tepat, seperti FontFamily, , FontSizeFontWeight, TextEffects, dan TextWrapping. Tambahkan konten teks menggunakan Text properti . Saat Anda menggunakannya di XAML, konten antara tag terbuka dan penutup menjadi teks elemen .
Mengatur konten teks
Atur konten teks dalam TextBlock menggunakan dua pendekatan:
Properti teks: Untuk teks sederhana yang diformat secara seragam, gunakan Text properti . Pendekatan ini mudah dan menerapkan pemformatan yang sama ke semua teks.
<TextBlock Text="This is simple text." Margin="0,0,0,20"/>Properti sebaris: Untuk teks dengan pemformatan campuran, gunakan properti Inlines. Koleksi ini menyimpan elemen sebaris yang memungkinkan Anda menerapkan pemformatan yang berbeda ke berbagai bagian teks.
<TextBlock Margin="0,0,0,20"> This text contains <Bold>bold</Bold> and <Italic>italic</Italic> formatting. </TextBlock>
Elemen sebaris dan pemformatan
Properti Inlines menerima kumpulan Inline elemen yang memungkinkan pemformatan teks kaya dalam satu TextBlock. Elemen sebaris umum meliputi:
- Run: Menunjukkan teks yang tidak diformat atau diformat secara seragam.
- Span: Mengelompokkan elemen sebaris lainnya dan menerapkan pemformatan ke semua elemen yang terkandung.
- Bold: Menerapkan pemformatan tebal ke teks yang terkandung.
- Italic: Menerapkan pemformatan miring ke teks yang terkandung.
- Underline: Menerapkan pemformatan garis bawah ke teks yang terkandung.
- Hyperlink: Membuat hyperlink yang dapat diklik dalam teks.
- LineBreak: Menyisipkan pemisah baris.
Contoh ini menunjukkan penggunaan elemen sebaris:
<TextBlock Margin="0,0,0,20">
<Run FontWeight="Bold" Foreground="Blue">Welcome</Run>
<Run> to </Run>
<Span FontFamily="Courier New">
<Run>formatted</Run>
<Run Foreground="Red"> text</Run>
</Span>
<Run>!</Run>
</TextBlock>
Anda juga dapat memanipulasi koleksi secara terprogram untuk membangun teks berformat Inlines secara dinamis:
TextBlock textBlock = new TextBlock();
textBlock.Inlines.Add(new Bold(new Run("Important:")));
textBlock.Inlines.Add(new Run(" This is a message."));
Dim textBlock As New TextBlock()
textBlock.Inlines.Add(New Bold(New Run("Important:")))
textBlock.Inlines.Add(New Run(" This is a message."))
Pembungkusan teks
Properti TextWrapping mengontrol bagaimana teks berperilaku ketika mencapai tepi TextBlock. Harus diatur ke salah satu nilai enumerasi TextWrapping:
-
NoWrap: Teks tidak membungkus dan melampaui batas TextBlock jika perlu. -
Wrap: Teks akan membungkus ke baris berikutnya saat mencapai tepi halaman. -
WrapWithOverflow: Teks membungkus jika memungkinkan, tetapi jika satu kata terlalu panjang, teks akan melampaui batas.
<TextBlock TextWrapping="Wrap" Width="200" Margin="0,0,0,20">
This text will wrap to multiple lines when it reaches the width of 200 pixels.
</TextBlock>
Pembungkusan teks sangat berguna untuk tata letak responsif dan saat menampilkan konten dinamis di mana panjang teks tidak diketahui.
Fitur Tipografi dan OpenType
WPF TextBlock mendukung fitur tipografi OpenType tingkat lanjut melalui Typography kelas . Fitur-fitur ini memungkinkan kontrol halus atas penyajian teks, termasuk:
- Ligatur (menggabungkan karakter seperti "fi" menjadi satu glyph)
- Kerning (menyesuaikan jarak antara pasangan karakter tertentu)
- Alternatif gaya
- Huruf kecil
- Gaya hiasan dan huruf ornamen
Akses fitur tipografi melalui properti terlampir:
<TextBlock Typography.Kerning="True"
Typography.Capitals="SmallCaps"
Margin="0,0,0,20">
Typography Features
</TextBlock>
Untuk mengatur fitur tipografi dalam kode, gunakan metode statis pada Typography kelas :
TextBlock textBlock = new TextBlock();
textBlock.Text = "Typography Features";
Typography.SetKerning(textBlock, true);
Typography.SetCapitals(textBlock, FontCapitals.SmallCaps);
Dim textBlock As New TextBlock()
textBlock.Text = "Typography Features"
Typography.SetKerning(textBlock, True)
Typography.SetCapitals(textBlock, FontCapitals.SmallCaps)
Untuk informasi selengkapnya tentang fitur tipografi, lihat Tipografi di WPF.
Hyperlinks
Tambahkan hyperlink yang dapat diklik dalam TextBlock menggunakan Hyperlink elemen . Hyperlink mendukung navigasi ke URI dan bisa merespons peristiwa klik.
<TextBlock Margin="0,0,0,20">
For more information, visit
<Hyperlink NavigateUri="https://learn.microsoft.com">
Microsoft Learn
</Hyperlink>.
</TextBlock>
Tangani peristiwa navigasi hyperlink untuk mengontrol perilaku:
<TextBlock>
<Hyperlink NavigateUri="https://example.com"
RequestNavigate="Hyperlink_RequestNavigate">
Click here
</Hyperlink>
</TextBlock>
Di dalam code-behind, tangani acara RequestNavigate untuk membuka tautan di peramban bawaan.
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(new ProcessStartInfo
{
FileName = e.Uri.AbsoluteUri,
UseShellExecute = true
});
e.Handled = true;
}
Private Sub Hyperlink_RequestNavigate(sender As Object, e As RequestNavigateEventArgs)
Process.Start(New ProcessStartInfo With {
.FileName = e.Uri.AbsoluteUri,
.UseShellExecute = True
})
e.Handled = True
End Sub
TextBlock vs RichTextBox
Meskipun TextBlock sangat ideal untuk menampilkan teks baca-saja dengan pemformatan, pertimbangkan untuk menggunakan RichTextBox saat Anda membutuhkan:
- Beberapa paragraf dengan pemformatan yang berbeda
- Kemampuan pengeditan pengguna
- Indentasi teks
- Struktur dokumen yang lebih kompleks
TextBlock memberikan performa yang lebih baik dan model pemrograman yang lebih sederhana, menjadikannya pilihan yang disukai untuk sebagian besar skenario tampilan teks UI.
Referensi
Bagian Terkait
.NET Desktop feedback