richtextbox in listview mit url anzeige

  • WPF

    richtextbox in listview mit url anzeige

    moin leute
    oje ich glaube ich spamme hier langsam das wpf-forum zu aber naja egall

    ich versuche jetzt mein vorhandenen chat von winforms auf wpf so langsam aber sicher zu übertragen und habe mir für den chatverlauf eine "listview" gebastelt. in dieser listview habe ich nun unter anderem eine richtextbox genommen um mir den chatverlauf darin anzuzeigen. das klappt soweit auch ganz gut (nachdem ich lange google gefragt habe.
    jetzt ist allerdings mein problem das der text eine URL/Hyperlink enthält und ich möchte jetzt das die url wie in winforms-richtextbox unterstrichen bzw eingefärbt wird. Ich finde aber keine einstellungsmöglichenkeiten irgentwie dafür. meine url wird als text ohne url angezeigt.

    dessweiterin will ich das bestimmte zeichenkombinationen zu einem smilie werden so wie ich es auch in winforms gemacht habe. nur irgentwie gibts es in richtextbox die eigenschaft "text" nicht. und ich kann auch irgentwie nicht auf die "richtextbox1" zugreifen weil es die nicht gibt? aber die gibts doch ich habe doch den namen in xaml angegeben? wo is da mein fehler?

    hier mal der code den ich unter winforms benutze um mir die smilies anzuzeigen (funktioniert)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public dim() As String = {"s01", "s02", "s03", "xD", "hi", "new", "died", "Tetris", "D"}
    2. Dim zwischenablage As IDataObject = Clipboard.GetDataObject()
    3. chat.ReadOnly = False
    4. For Each Smiliecode In Smiliecodes
    5. Do While chat.Text.Contains(":" & Smiliecode)
    6. Dim smilie As Image = Image.FromFile("launcher/images/smilies/" & Smiliecode & ".png")
    7. Clipboard.SetImage(smilie)
    8. chat.SelectionStart = chat.Text.IndexOf(":" & Smiliecode)
    9. chat.SelectionLength = Smiliecode.Length + 1
    10. chat.Paste()
    11. Loop
    12. Next
    13. chat.ReadOnly = True
    14. Clipboard.SetDataObject(zwischenablage)










    hier mal meine xaml von der listview
    Spoiler anzeigen

    VB.NET-Quellcode

    1. <ListView Background="{x:Null}" ItemsSource="{Binding}" VerticalAlignment="Top" Name="chatlobby" SelectionMode="Single" DataContext="{Binding}" FontSize="14" Margin="0,6,0,67" BorderBrush="{x:Null}" Foreground="#FFF11111">
    2. <ListView.View>
    3. <GridView>
    4. <GridViewColumn Header="Photo" Width="100" >
    5. <GridViewColumn.CellTemplate>
    6. <DataTemplate>
    7. <Image HorizontalAlignment="Center" VerticalAlignment="Top" Source="{Binding Path=chatavatar}" Stretch="None"/>
    8. </DataTemplate>
    9. </GridViewColumn.CellTemplate>
    10. </GridViewColumn>
    11. <GridViewColumn DisplayMemberBinding="{Binding Path=chatclan}" Header="Clan" />
    12. <GridViewColumn DisplayMemberBinding="{Binding Path=chatname}" Header="Name" />
    13. <GridViewColumn Header="text" >
    14. <GridViewColumn.CellTemplate>
    15. <DataTemplate>
    16. <RichTextBox Name="RichTextBox1" IsReadOnly="True" Background="Transparent" HorizontalScrollBarVisibility="Disabled" >
    17. <FlowDocument>
    18. <Paragraph>
    19. <Run Text="{Binding Path=chattext}" />
    20. </Paragraph>
    21. </FlowDocument>
    22. </RichTextBox>
    23. </DataTemplate>
    24. </GridViewColumn.CellTemplate>
    25. </GridViewColumn>
    26. </GridView>
    27. </ListView.View>
    28. </ListView>