WPF - 在扩展器中滚动列表框

时间:2009-11-02 15:36:20

标签: c# wpf xaml listbox expander

我有一个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"),那么它不会随窗口大小调整。

我想让它伸展到窗户的大小,但不多了。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

您需要设置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>