2009-11-25 30 views
16

TextBlock nesnesinde böyle XAML metni biçimlendirmek yapabilirsiniz: "Kalın" etiketleri programlı NasılsınızWPF - TextBlock - Biçim Metin Programlı

<TextBlock> 
    <Bold>bold text</Bold> random non bold next 
</TextBlock> 

?

Sadece bunları text özelliğine yerleştirmeyi denedim ve yeni çıktılar (etiketler metin olarak basıldı).

+0

teşekkürler. Her ikisi de düşünüldü. Yaptığımı aldım çünkü benim örneğime özgüydi. – Vaccano

+0

Daha iyi bir çözüm: http://stackoverflow.com/questions/947614/changing-label-properties-programmatically – digz6666

cevap

20

Visual Basic Versiyon:

Dim tb As New TextBlock 

Dim b As New Bold 
b.Inlines.Add(New Run("bold text")) 

tb.Inlines.Add(b) 
tb.Inlines.Add(New Run("random non bold text")) 

C# Sürüm: Burada

TextBlock tb = new TextBlock(); 
var bold = new Bold(new Run("Bold Text")); 
tb.Inlines.Add(bold); 

var normal = new Run("Normal Text")); 
tb.Inlines.Add(normal); 
+0

tb.Inlines.Clear(); tb.Inlines.Add (Ayrıştırma (myXamlText)); ? – Christoph

19

I (http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx) yardımcı olacağını düşünüyorum MSDN web sitesinden gelen kodudur. iki büyük yanıtlar için

XAML

<TextBlock Name="textBlock1" TextWrapping="Wrap"> 
    <Bold>TextBlock</Bold> is designed to be <Italic>lightweight</Italic>, 
    and is geared specifically at integrating <Italic>small</Italic> portions 
    of flow content into a UI. 
</TextBlock> 
<Button Width="100" Margin="10">Click Me</Button> 
<TextBlock Name="textBlock2" 
    TextWrapping="Wrap" Background="AntiqueWhite" TextAlignment="Center" 
> 
    By default, a TextBlock provides no UI beyond simply displaying its contents. 
</TextBlock> 
<Button Width="100" Margin="10">Click Me</Button> 

C#

TextBlock textBlock1 = new TextBlock(); 
TextBlock textBlock2 = new TextBlock(); 

textBlock1.TextWrapping = textBlock2.TextWrapping = TextWrapping.Wrap; 
textBlock2.Background = Brushes.AntiqueWhite; 
textBlock2.TextAlignment = TextAlignment.Center; 

textBlock1.Inlines.Add(new Bold(new Run("TextBlock"))); 
textBlock1.Inlines.Add(new Run(" is designed to be ")); 
textBlock1.Inlines.Add(new Italic(new Run("lightweight"))); 
textBlock1.Inlines.Add(new Run(", and is geared specifically at integrating ")); 
textBlock1.Inlines.Add(new Italic(new Run("small"))); 
textBlock1.Inlines.Add(new Run(" portions of flow content into a UI.")); 

textBlock2.Text = 
    "By default, a TextBlock provides no UI beyond simply displaying its contents."; 
İlgili konular