c# - WPF - 扩展器中的滚动列表框

标签 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"),则它不会随窗口调整大小。

我希望它能拉伸(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/

相关文章:

c# - Caliburn Micro IoC.Get

c# - WPF中的临时锁定窗口(重新)大小

c# - 如何在桌面 C#/WPF 应用程序中同时支持本地 SQL Server CE 和远程 SQL Server?

wpf - XamlParseException关于从资源设置图像

c# - MVVM 和 View/ViewModel 层次结构

C# 到 C++ 的转换

c# - PrintScreen 仅事件窗口

JSON POST 中的 C# HttpWebRequest "Request Header"

c# - 使用 EntityFramework 6.1 清理 Sqlite 数据库

c# - 如何使用wpf xaml绘制均匀间隔的对角线文本