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
hier mal meine xaml von der listview
Spoiler anzeigen
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)
VB.NET-Quellcode
- Public dim() As String = {"s01", "s02", "s03", "xD", "hi", "new", "died", "Tetris", "D"}
- Dim zwischenablage As IDataObject = Clipboard.GetDataObject()
- chat.ReadOnly = False
- For Each Smiliecode In Smiliecodes
- Do While chat.Text.Contains(":" & Smiliecode)
- Dim smilie As Image = Image.FromFile("launcher/images/smilies/" & Smiliecode & ".png")
- Clipboard.SetImage(smilie)
- chat.SelectionStart = chat.Text.IndexOf(":" & Smiliecode)
- chat.SelectionLength = Smiliecode.Length + 1
- chat.Paste()
- Loop
- Next
- chat.ReadOnly = True
- Clipboard.SetDataObject(zwischenablage)
hier mal meine xaml von der listview
VB.NET-Quellcode
- <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">
- <ListView.View>
- <GridView>
- <GridViewColumn Header="Photo" Width="100" >
- <GridViewColumn.CellTemplate>
- <DataTemplate>
- <Image HorizontalAlignment="Center" VerticalAlignment="Top" Source="{Binding Path=chatavatar}" Stretch="None"/>
- </DataTemplate>
- </GridViewColumn.CellTemplate>
- </GridViewColumn>
- <GridViewColumn DisplayMemberBinding="{Binding Path=chatclan}" Header="Clan" />
- <GridViewColumn DisplayMemberBinding="{Binding Path=chatname}" Header="Name" />
- <GridViewColumn Header="text" >
- <GridViewColumn.CellTemplate>
- <DataTemplate>
- <RichTextBox Name="RichTextBox1" IsReadOnly="True" Background="Transparent" HorizontalScrollBarVisibility="Disabled" >
- <FlowDocument>
- <Paragraph>
- <Run Text="{Binding Path=chattext}" />
- </Paragraph>
- </FlowDocument>
- </RichTextBox>
- </DataTemplate>
- </GridViewColumn.CellTemplate>
- </GridViewColumn>
- </GridView>
- </ListView.View>
- </ListView>