WPF – прокрутка списка в расширителе
Вопрос
у меня есть Expander
что я хочу иметь ListBox
в.Когда я открываю Expander
, ListBox
просто расширяется за пределы экрана (вместо расширения, чтобы заполнить все, что доступно, а затем прокручивается).
Вот мой 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>
Когда Expander1
открывается, то он просто расширяется до размера ListBox
(за кадром).Если я поставлю размер в сетку (Height="275"
), то его размер не изменяется вместе с окном.
Я хочу, чтобы оно растянулось до размеров окна, но не более того.Есть ли способ сделать это?
Решение
Вам необходимо установить свойство Height ScrollViewer, иначе он будет того же размера, что и его дочерний элемент.Вот обновленный 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>
Не связан с StackOverflow