2017-01-19 5 views
0
Public Sub ChatMessage(ByVal sUser As String, ByVal sMessage As String) 
    Dim tmpData As String = sUser & ":" & vbTab & sMessage 
    Dim p As Paragraph = New Paragraph(New Run(tmpData)) 
    p.Foreground = System.Windows.Media.Brushes.LightGreen 
    p.FontSize = 12 
    p.Margin = New System.Windows.Thickness(0, 0, 0, 0) 

    RoomMessages.RichTextBox.Document.Blocks.Add(p) 
    RoomMessages.RichTextBox.ScrollToEnd()  

End Sub 

Ich habe eine WPF Richtextbox namens RoomMessages zu einem Windows-Formular hinzugefügt. Ich kann Text mit dem obigen Code hinzufügen und es funktioniert für das Hinzufügen von Text mit 1 Farbe und Schriftart. Ich muss in der Lage sein, die Farben der Wörter zu ändern, bevor Sie sie der Richtextbox hinzufügen. Ich habe Tage gesucht, aber kein Glück.WPF Richtextbox mehrere Farben und Schriftart

Ive C# -Code mit Textrange oder Textblocks gesehen, aber havnt konnte sie bekommen in VB arbeiten

Antwort

0
  tUser.Text = sUser & ":" 
    tUser.Foreground = New System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.LightGreen) 

    tMessage.Text = sMessage 
    tUser.Foreground = New System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.White) 

    P.Inlines.Add(tUser) 
    P.Inlines.Add(tMessage) 

    P.FontSize = 12 
    p.Margin = New System.Windows.Thickness(0, 0, 0, 0)