4

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

我希望它伸展到窗口的大小,但仅此而已。有没有办法做到这一点?

4

1 回答 1

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>
于 2009-11-02T15:55:16.737 回答