Laden...

WP7: RichtextBox zeigt den Text nicht komplett

Erstellt von Xqgene vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.140 Views
X
Xqgene Themenstarter:in
2.051 Beiträge seit 2004
vor 12 Jahren
WP7: RichtextBox zeigt den Text nicht komplett

Hallo,

ich habe ein Problem mit Anzeige einer Textdatei in einer RichtextBox in einer WP7 App.
Der Text wird einfach nicht ganz angezeigt. Vielleicht nur 10% der ganzen Datei.

XAML ist ganz einfach:


 <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel enthält den Namen der Anwendung und den Seitentitel-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="MEINE ANWENDUNG" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="Seitenname" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - zusätzliche Inhalte hier platzieren-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ScrollViewer VerticalScrollBarVisibility="Auto" >
                <RichTextBox Name="richTextBox" />
            </ScrollViewer>
        </Grid>
    </Grid>

und befüllen:


 RichTextBox _tb = richTextBox;
string _t = _be.Data.ToString();  // Text aus der Textdatei
Run _r = new Run();
_r.Text = _t.Trim();
Paragraph _pr = new Paragraph();
_pr.Inlines.Add(_r);

_tb.Blocks.Add(_pr);

Meine Suche nach der Ursache ergab leider keine Lösung.

1.552 Beiträge seit 2010
vor 12 Jahren

Hallo Xqgene,

hatte zwar nie dieses Problem, aber ich denke dass die RichTextBox nicht scrollt.
Versuch mal HorizontalScrollBarVisibility aus ScollBarVisibility.Visible zu stellen und/oder die RichtextBox aus dem Scope der ScollBar zu entfernen.

Btw Mach dir mit DataBinding das Leben einfacher und fülle die Controls nicht per Code

Gruß
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

X
Xqgene Themenstarter:in
2.051 Beiträge seit 2004
vor 12 Jahren

Also die RichtextBox scrollt schon. Wobei es wohl das ScrollViewer scrollt und nicht die RichtextBox selbst. Das Problem ist eben, dass der Inhalt der RichtextBoxnicht zu Ende angezeigt wird. Beim Scrollen kommt man nach ca. einem Drittel zu einem Punkt wo man die RichtextBox nicht mehr zu sehen ist. wobei man noch weiter runter scrollen kann.

ich habe ein Beispielprojekt angehängt um mein Problem zu verdeutlichen.

...und/oder die RichtextBox aus dem Scope der ScollBar zu entfernen.

das habe ich jetzt nicht ganz verstanden..?

Ich will an der Stelle nochmal drauf hinweisen, dass es sich um eine WP7 Anwendung handelt.

5.742 Beiträge seit 2007
vor 12 Jahren

das habe ich jetzt nicht ganz verstanden..?

Lasse den ScrollViewer einfach mal weg - es kann sein, dass die RTB ihren eigenen mitbringt und der äußere dann dem inneren die Scrollevents "klaut".

109 Beiträge seit 2010
vor 12 Jahren

So nen kleiner Vermerk nebenbei zu Windows Phone 7. Es gibt dort eine 2000x2000 px Regel, diese gilt komischerweise wie ich festellen musste nicht nur für Images sondern auch für alle anderen Controls. D.h. es schneidet scheinbacr wie in deinem Fall einfach den text iwann ab und zeigt ihn nicht mehr an.

mfg Seraph

Ich beschütze das was am Wichtigsten ist!

X
Xqgene Themenstarter:in
2.051 Beiträge seit 2004
vor 12 Jahren

@Seraph2402: Also das mit 2000px klingt plausibel. 2000px konnte es durchaus sein.

Nun wie geht man das Problem um? Richtextbox soll doch mal ein komplettes File zeigen können. Ist absolut unverständlich 😦

@winSharp93: ohne ScrollViewer habe ich schon mal probiert. Dabei wird gar nicht mehr gescrollt.

X
Xqgene Themenstarter:in
2.051 Beiträge seit 2004
vor 12 Jahren

@All: Seraph2402 hat mich auf die Lösung gebracht. Diese besteht darin, dass wenn der Text in der TextBox komplett (unter 2000 px) passt, wird der Text in mehrere Teile gesplittet und in einzelne Controls zugewiesen.

Sieh auch hier: http://blogs.msdn.com/b/priozersk/archive/2010/09/08/creating-scrollable-textblock-for-wp7.aspx