Laden...

WPF: Text färben, markieren, unterstreichen

Erstellt von King vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.628 Views
K
King Themenstarter:in
27 Beiträge seit 2006
vor 15 Jahren
WPF: Text färben, markieren, unterstreichen

Hi Leute!

Ich habe zu folgendem Problem keinen gescheiten Lösungsansatz gefunden:

Ich mögchte einer Textanzeige (egal ob Label, RichTextBox, ...) machen welche ich dynamsich aus dem Programm aus verändern kann, so dass die einzelnen Worter im Text bzw. einzelne Textabschnitte mit unterschiedlichen Farben unterlegt bzw. geschrieben werden.

Habt ihr eine Idee wie man auf die einzelnen Textabschnitte bzw. Textteile zugreifen kann um deren Eigenschaften (Schrifft, Farben, B I U, usw...) zu verändern???

(In Java habe ich so ein änhliches Problem schon einmal gelößt zu C# finde ich nix gescheites wie ich auf Textabschnitte und deren Farben zugreifen könnte.)

Ich bin euch für jeden Tipp dankbar.

582 Beiträge seit 2008
vor 15 Jahren

Du brauchst eine RichTextBox oder DokumentViewer (möglich das andere Komponenten das auch können, mir sind aber keine bekannt). Bei den Anderen kann man nur den gesamten Text formatieren. Dies ist natürlich auch per Code realisierbar


            <RichTextBox  Name="richTextBox1" Width="200">
                <FlowDocument >
                    <Paragraph Background="AliceBlue" >
                        <Run>Paragraph 1</Run>
                    </Paragraph >
                    <Paragraph BorderThickness="2" BorderBrush="Green">
                        <Run>Paragraph 2</Run>
                    </Paragraph>
                    <Paragraph>
                        <Run >Paragraph </Run>
                        <Run FontSize="22">Test</Run>
                        <Run>er</Run>
                    </Paragraph>
                </FlowDocument>
            </RichTextBox>

Gruß dat Tala

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo King,

schaue dir auch einmal in der MSDN die von Inline abgeleiteten Klassen an - mit ihnen kann man Text beliebig dekorieren.

Zum Beispiel kannst du so auch, neben den von Taladan genannten Paragraph und Run, Bold, Hyperlink, ... nutzen.

K
King Themenstarter:in
27 Beiträge seit 2006
vor 15 Jahren

Vielen Dank für eure Tips ich habe noch folgede Lösung gefunden:

  1. Einfach TextEffect() verwenden
  2. Wenn man die Einstellungen getätigt hat diese einfach zum TextBlock Adden

tb.TextEffects.Add(tf);