ScrollViewer-Element funktioniert nicht mit StackPanel

Linken Seite meiner Seite habe ich eine vertikale StackPanel-Element mit den folgenden Elementen:

  • 1 TextBlock
  • 1 vertikale StackPanel-Element mit mehreren Elementen, füllt den verfügbaren Raum

Ich versuche, die zweite StackPanel-Steuerelement Scrollbar mit einem ScrollViewer element, aber ohne Erfolg. Wenn ich definieren ScrollViewer-Höhe auf einen Wert es funktioniert, aber ich will nicht weil ich es will, zu füllen alle verfügbaren vertikalen Raum.

Ich bin am überlegen zu gelten ScrollViewer-Höhe in code-Lesung StackPanel berechnete Höhe aber dies scheint nicht der richtige Weg, es zu tun.
Ich versuchte auch zu binden Höhe und ActualHeight zu StackPanel Height-Eigenschaft, aber keine Ergebnisse.

<ScrollViewer
    Grid.Row="1"
    VerticalAlignment="Top"
    VerticalScrollBarVisibility="Auto"
    HorizontalScrollBarVisibility="Disabled"
    ScrollViewer.VerticalScrollMode="Enabled"
    ScrollViewer.HorizontalScrollMode="Disabled"
    ScrollViewer.ZoomMode="Disabled">
    <StackPanel x:Name="sptest" Orientation="Vertical">
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test1</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test2</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test3</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test4</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test5</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test6</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test7</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test8</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test9</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test10</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test11</TextBlock>
        <TextBlock Style="{StaticResource PageHeaderTextStyle}">test12</TextBlock>
    </StackPanel>
</ScrollViewer>

Neben ich habe auch ein GridView-Füllung horizontal verfügbare Platz und es automatisch scrollbar. Ich habe nicht definiert, und es auftreten, wenn nötig. Es ist seltsam, dass StackPanel nicht so verhält, wie ich es will. Was mache ich falsch?

BEARBEITEN

Fand ich diese ALSO Frage. Es ist über WPF und nicht WinRT aber wahrscheinlich ist es das gleiche problem. Es sagt:

Können Sie nicht ohne die Festsetzung der Höhe des StackPanel-Steuerelement. Es ist entworfen, um zu wachsen, auf unbestimmte Zeit in eine Richtung. Ich würde raten, mit einem anderen Panel

Änderte ich meine StackPanel-Element auf einem Raster (ich wollte nicht, weil der Zeilen-Definitionen, da möchte ich nur eine Spalte), aber ScrollViewer-Element funktioniert auch nicht.

  • Ich habe versucht, den code, den Sie zur Verfügung gestellt haben, funktioniert es einwandfrei. Können Sie erklären, was der genaue Punkt, den Sie haben? Oder können Sie code für die ganze Seite?
  • Vielen Dank für Ihre Zeit. Ich ging schlafen, wachte auf an diesem morgen und konnte es lösen, durch das ändern des übergeordneten Elements (vertikale StackPanel-Steuerelement) mit einem Raster (mein code ist voll der Stromnetze jetzt...)
  • In meiner Frage sagte ich, ich hätte ein Grid mit zwei Zeilen, aber ich irrte mich, es war ein StackPanel, das war die Antwort meiner Frage -.- Sollte ich Bearbeiten Sie die Frage und beantworten oder löschen?
  • Sie können immer Ihre eigene Frage zu beantworten, es werde helfen, eine andere person, hatte dasselbe Problem. 🙂 Ich denke, Sie sollten das tun. Ich bin froh, dass Sie es gelöst, indem Sie sich. 🙂
  • Getan. Ich weiß immer noch nicht, warum es arbeitet mit einem Raster, wie die Eltern-und nicht mit einem StackPanel-so fühlt es sich für mich, dass es nicht die Antwort. Trotzdem danke.
InformationsquelleAutor letiagoalves | 2013-03-10
Schreibe einen Kommentar