开发者

WPF - Scrolling Listbox in an Expander

I have an Expander that I want to have a ListBox in. When the I open the Expander, the ListBox just expands off the screen (rather than expanding开发者_运维百科 to fill what is available and then scrolling).

Here is my 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>

When Expander1 is opened then it just expands to the size of the ListBox (off the screen). If I put a size on the grid (Height="275"), then it does not resize with the window.

I want it to stretch to the size of the window, but no more. Is there a way to do that?


You need to set the Height property of ScrollViewer otherwise it will be the same size as it's child. Here is some updated 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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜