我有一个 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"
),则它不会随窗口调整大小。
我希望它能拉伸(stretch)到窗口的大小,但不能超过。有办法吗?
最佳答案
您需要设置 ScrollViewer 的 Height 属性,否则它的大小将与其子项相同。下面是一些更新的 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>
关于c# - WPF - 扩展器中的滚动列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1662004/