在我的xaml中,我有一些由我制作的对象。我把它们排成一排,如果窗口太小,我就换上新的一行。
问题是当窗口太小而且在新行中时,元素不能全部显示出来。解决方案很简单:滚动条!!但是,如果我将Vertical / HorizontalScrollBarVisibility设置为auto,则不会再转到换行符。
这是我的xaml:
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Disabled" >
<ItemsControl Name="ItemGroups" ItemsSource="{Binding NotifyItemUI}" />
</ScrollViewer>
这是我需要的截图:
例如,如果我垂直调整我的区域,并且我有3行对象,这样,如果窗口太小,我就看不到第三行。在这种情况下,我希望看到一个垂直滚动条来滚动它。
水平相同的事情:如果我有一行的元素太多,我必须水平滚动。
答案 0 :(得分:1)
您所描述的内容看起来像WrapPanel
,但您写的方式表明它是自定义控件,因此我们无法看到您的ItemsControl
正在为布局做些什么。
但是,ScrollViewer
可能与Panel
进行棘手的互动。如果Panel
测量为无穷大,它将始终认为自己足够大,并且永远不会告诉ScrollViewer
它不在空间中。结果是ScrollViewer
不知道需要滚动条。如果这是您的问题,那么设置Width
和Height
属性,或者@Sheridan说的最大值,应该解决它。