Frage

Ich habe eine Expander, dass ich in eine ListBox haben will. Wenn das ich die Expander öffnen, die ListBox einfach den Bildschirm erweitert ab (anstatt den Ausbau zu füllen, was verfügbar ist und dann scrollen).

Hier ist meine XAML:

<DockPanel Margin="266.25,0,455,12" Name="dockPanel1">
    <StackPanel>
        <Expander Header="expander1" Name="expander1" Width="150" HorizontalAlignment="Left">
            <Grid>
                <Label>Testing</Label>
                <ScrollViewer>
                    <ListBox Name="lstBox"  FontSize="14" SelectionChanged="lstBox_SelectionChanged" />
                </ScrollViewer>
            </Grid>
        </Expander>
        <Expander Header="expander2" Name="expander2" Width="150" HorizontalAlignment="Left">
            <Grid >

            </Grid>
        </Expander>
    </StackPanel>
</DockPanel>

Wenn Expander1 geöffnet wird dann dehnt sie sich nur auf die Größe des ListBox (aus dem Bildschirm). Wenn ich eine Größe auf dem Gitter (Height="275") setzen, dann ist es nicht mit der Fenstergröße ändern.

Ich will es auf die Größe des Fensters strecken, aber nicht mehr. Gibt es eine Möglichkeit, das zu tun?

War es hilfreich?

Lösung

Sie müssen die Height-Eigenschaft des Scroll einzustellen sonst wird es die gleiche Größe wie es Kind ist. Hier einige aktualisiert XAML:

<DockPanel>
    <StackPanel>
        <Expander Header="expander1" Width="150" HorizontalAlignment="Left">
            <StackPanel>
                <Label>Testing</Label>
                <ScrollViewer Height="75">
                    <ListBox>

                    </ListBox>
                </ScrollViewer>
            </StackPanel>
        </Expander>
        <Expander Header="expander2">
        </Expander>
    </StackPanel>
</DockPanel>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top