Benutzer mit den meisten Antworten
HTML Code in WPF Element darstellen

Frage
-
Salü alle zusammen
Ich würde gerne einen String welcher HTML Tags beinhaltet in einer WPF Form darstellen. Der gegebene String ist:
string MeinHTML = "Die <i>Erde</i> ist <b>rund</b>";
Und nun möchte ich gerne MeinHTML in der WPF Form darstellen. Habe mir das so irgendwie wie folgt dargestellt:
Textbox1.Text = MeinHTML;
Aber dann wird <i> in die Textbox geschirben anstatt das Wort Erde schräg geschrieben.
Kann mir jemand ein Tipp geben, wie ich mein Ziel erreichen kann?
Vielen Dank und liebe Grüsse
Sabrina
Antworten
-
Hallo Sabrina,
ziehe zum Beispiel ein WebBrowser-Control in das Fenster. Dann zum Beispiel:webBrowser1.NavigateToString("Die <i>Erde</i> ist <b>rund</b>");
Ansonsten siehe auch: [Display html Content in WPF (XBAP)]
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 8. Juli 2010 08:11
- Als Antwort markiert Robert BreitenhoferModerator Montag, 12. Juli 2010 06:09
-
Hi Sabrina,für die formatierte Darstellung von html, der in Zeichenketten vorliegt, kann das WebBrowser-Steuerelement und die NavigateToString-Methode genutzt werden, z.B. so:
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <WebBrowser Name="wb1" /> </Grid> </Window>
Der CodeBehind dazu:
Class MainWindow Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded Me.wb1.NavigateToString("<html>Die <i>Erde</i> ist <b>rund</b></html>") End Sub End Class
--
Viele Gruesse
Peter- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 8. Juli 2010 08:11
- Als Antwort markiert Robert BreitenhoferModerator Montag, 12. Juli 2010 06:09
Alle Antworten
-
Hallo Sabrina,
ziehe zum Beispiel ein WebBrowser-Control in das Fenster. Dann zum Beispiel:webBrowser1.NavigateToString("Die <i>Erde</i> ist <b>rund</b>");
Ansonsten siehe auch: [Display html Content in WPF (XBAP)]
ciao Frank- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 8. Juli 2010 08:11
- Als Antwort markiert Robert BreitenhoferModerator Montag, 12. Juli 2010 06:09
-
Hi Sabrina,für die formatierte Darstellung von html, der in Zeichenketten vorliegt, kann das WebBrowser-Steuerelement und die NavigateToString-Methode genutzt werden, z.B. so:
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <WebBrowser Name="wb1" /> </Grid> </Window>
Der CodeBehind dazu:
Class MainWindow Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded Me.wb1.NavigateToString("<html>Die <i>Erde</i> ist <b>rund</b></html>") End Sub End Class
--
Viele Gruesse
Peter- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 8. Juli 2010 08:11
- Als Antwort markiert Robert BreitenhoferModerator Montag, 12. Juli 2010 06:09
-
Es kann übrigens auch sinnvoll sein, wegen des kleineren FootPrints bei mehreren solcher Elemente das FlowDocument zu benutzen. Es gibt sogar automatische Konvertierungs-Klassen für rudimentäres HTML:
[Demo für die Konvertierung von XAML in HTML]
http://msdn.microsoft.com/de-de/library/aa972129(VS.90).aspxdie eine HtmlToXamlConverter-Klasse implementieren. (Um es nicht aus dem großen SDK zu nehmen)
Das weitere Verfahren wäre dann analog:[Nigel Spencer's Blog: HTML to FlowDocument Converter]
http://blog.spencen.com/2008/01/19/html-to-flowdocument-converter.aspx
ciao Frank -
Hallo Sabrina,
Man kann auch noch folgendes machen:
Füge in deinem Projekt eine Datei mit den Namen Test.html ein, der den beliebigen Inhalt enthaltet (z.B. <html>Die <i>Erde</i> ist <b>rund</b></html>).
Setzte die Eigenschaft der Test.html Datei Copy to Output Directory auf Copy if newer
Zeihe auf dem Grid das Frame Steuerelement.
Und hier dann die XAML Datei:
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Name="Window1"> <Grid> <Frame Name="FrameWithinGrid" Source="pack://siteoforigin:,,,/Test.html"> <Frame.Height>300</Frame.Height> <Frame.Width>500</Frame.Width> <Frame.BorderBrush>Black</Frame.BorderBrush> <Frame.BorderThickness>2</Frame.BorderThickness> </Frame> </Grid> </Window>
Stelle fest dass Du mindestens .NET Framework 3.5 SP1 installiert hasst.
Lies auch folgender Artikel: Pack URIs in Windows Presentation Foundation
Grüße,
Robert
-
Hallo Sabrina,
Frank schrieb:
> > ziehe zum Beispiel ein WebBrowser-Control in das Fenster. Dann zum Beispiel:
> > webBrowser1.NavigateToString("Die <i>Erde</i> ist <b>rund</b>");
Sabrina schrieb:
> Salü Frank, Vielen lieben Dank für Deine Antwort. Vielen Dank auch allen
> anderen. Ich habe das mit dem WebBrowser-Control gelöst und das funktioniert super.
gern.
ciao Frank