Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
TextBlock denetimi WPF uygulamaları için esnek metin desteği sağlar. Bu öğeyi öncelikle birden fazla metin paragrafı gerektirmeyen temel kullanıcı arabirimi senaryoları için hedefle. Sunumun hassas denetimini sağlayan FontFamily, FontSize, FontWeight, TextEffects ve TextWrapping gibi özellikleri destekler. özelliğini kullanarak Text metin içeriği ekleyin. XAML'de kullandığınızda, açma ve kapatma etiketi arasındaki içerik öğenin metni olur.
Metin içeriğini ayarlama
İki yaklaşım kullanarak içindeki TextBlock metin içeriğini ayarlama:
Metin özelliği: Basit, tekdüzen biçimlendirilmiş metin için Text özelliğini kullanın. Bu yaklaşım basittir ve tüm metne aynı biçimlendirmeyi uygular.
<TextBlock Text="This is simple text." Margin="0,0,0,20"/>Satır içi özelliği: Karışık biçimlendirmeye sahip metinler için Inlines özelliğini kullanın. Bu koleksiyon, metnin farklı bölümlerine farklı biçimlendirme uygulamanıza olanak sağlayan satır içi öğeleri barındırıyor.
<TextBlock Margin="0,0,0,20"> This text contains <Bold>bold</Bold> and <Italic>italic</Italic> formatting. </TextBlock>
Satır içi öğeler ve biçimlendirme
Inlines özelliği, tek bir Inline içinde zengin metin biçimlendirmesini etkinleştiren bir TextBlock öğesi koleksiyonunu kabul eder. Yaygın satır içi öğeler şunlardır:
- Run: Biçimlendirilmemiş veya tekdüzen olarak biçimlendirilmiş bir metin çalıştırmasını temsil eder.
- Span: Diğer satır içi öğeleri gruplar ve tüm kapsanan öğelere biçimlendirme uygular.
- Bold: Kapsanan metne kalın biçimlendirme uygular.
- Italic: İçerilen metne italik biçimlendirme uygular.
- Underline: İçeren metne alt çizgi biçimlendirmesi uygular.
- Hyperlink: Metin içinde tıklanabilir köprüler oluşturur.
- LineBreak: Satır sonu ekler.
Bu örnekte satır içi öğelerin kullanımı gösterilmektedir:
<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>
Ayrıca, biçimlendirilmiş metni dinamik olarak oluşturmak için koleksiyonu program aracılığıyla da işleyebilirsiniz Inlines :
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."))
Metin kaydırma
Bu TextWrapping özelliği, metin TextBlock kenarına ulaştığında nasıl davranacağını denetler. Sabit liste değerlerinden birine TextWrapping ayarlayın:
-
NoWrap: Metin kaydırmaz ve gerekirse TextBlock'un ötesine genişletir. -
Wrap: Metin kenara ulaştığında bir sonraki satıra kaydırılır. -
WrapWithOverflow: Metin mümkünse kaydırılır, ancak tek bir sözcük çok uzunsa sınır çizgisinin ötesine uzanır.
<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>
Metin kaydırma, özellikle responsive düzenler ve metin uzunluğunun bilinmediği dinamik içeriklerin görüntülenmesi sırasında kullanışlıdır.
Tipografi ve OpenType özellikleri
WPF TextBlock, sınıfı aracılığıyla Typography gelişmiş OpenType tipografi özelliklerini destekler. Bu özellikler, aşağıdakiler dahil olmak üzere metin işleme üzerinde ayrıntılı denetim sağlar:
- Ligatürler ("fi" gibi karakterleri tek bir karakterde birleştirme)
- Kerning (belirli karakter çiftleri arasındaki boşlukları ayarlamak)
- Stil alternatifleri
- Küçük majusküller
- Swashes ve süs karakterleri
Ekli özellikler aracılığıyla tipografi özelliklerine erişin:
<TextBlock Typography.Kerning="True"
Typography.Capitals="SmallCaps"
Margin="0,0,0,20">
Typography Features
</TextBlock>
Kodda tipografi özelliklerini ayarlamak için sınıfındaki Typography statik yöntemleri kullanın:
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)
Tipografi özellikleri hakkında daha fazla bilgi için bkz . WPF'de Tipografi.
Hyperlinks
öğesini kullanarak TextBlock içine Hyperlink tıklanabilir köprüler ekleyin. Bağlantılar, URI'lere navigasyonu destekler ve tıklama olaylarına yanıt verebilir.
<TextBlock Margin="0,0,0,20">
For more information, visit
<Hyperlink NavigateUri="https://learn.microsoft.com">
Microsoft Learn
</Hyperlink>.
</TextBlock>
Davranışı denetlemek için köprü gezinti olaylarını işleme:
<TextBlock>
<Hyperlink NavigateUri="https://example.com"
RequestNavigate="Hyperlink_RequestNavigate">
Click here
</Hyperlink>
</TextBlock>
Kod arka planda, RequestNavigate olayını bağlantıyı varsayılan tarayıcıda açmak için işleyin.
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 ve RichTextBox karşılaştırması
Salt okunur metni biçimlendirilmiş şekilde görüntülemek için TextBlock ideal olsa da, ihtiyaç duyduğunuz durumlarda RichTextBox kullanmayı göz önünde bulundurun.
- Farklı biçimlendirmeye sahip birden çok paragraf
- Kullanıcı düzenleme özellikleri
- Metin girintisi
- Daha karmaşık belge yapıları
TextBlock daha iyi performans ve daha basit bir programlama modeli sağlayarak kullanıcı arabirimi metin görüntüleme senaryolarının çoğu için tercih edilen seçenektir.
Kaynak
İlgili Bölümler
.NET Desktop feedback