WPF - Scrolling Listbox in einem Expander
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?
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