[英]ScrollViewer in a listbox
我用特定的数据填充列表框,代码工作正常,但是我需要向列表框添加一个scrollviewer,因为里面有很多元素,我尝试使用ScrolViewer并将其放在列表框内,但是不起作用,这是代码
<StackPanel x:Name="Sites" Grid.Row="1" Orientation="Vertical">
<ListBox x:Name="ListSites" >
<ListBox.ItemTemplate>
<DataTemplate>
<Button Width="460" Height="120" Click="click" Name="btn">
<Button.Content>
<StackPanel Orientation="Vertical" Height="100" Width="460">
<TextBlock Width="460" Name="txtname" FontSize="22" Text="{Binding name}" Height="40" Foreground="CadetBlue" />
<TextBlock Width="460" Name="txtUrl" FontSize="22" Text="{Binding Url}" Height="60"/>
</StackPanel>
</Button.Content>
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
我修复了它,只需在ListBox控件中添加Height属性
如果没有为列表框提供无限的高度空间,则列表框应在项目溢出其边界时自动滚动。 例如,如果堆栈面板外部的第二个网格行设置了显式或“星形”高度,则列表框中的滚动条将自动显示。
您不需要将ScrollViewer
添加到ListBox
。 空间不足时,它将开始滚动。
但是,由于已将ListBox
放在StackPanel
所以它永远不会认为空间用完了,因为StackPanel
会沿其方向无限地增长以容纳其内容。
您需要为ListBox
使用其他容器。
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.