繁体   English   中英

当上方的Scrollviewer完成滚动后,如何自动滚动列表框

How to scroll listbox automatically when Scrollviewer present above it has finished scrolling

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在开发Windows应用程序,

我有一个父级滚动查看器,并且在其中有子级滚动查看器和一个列表框。

我想知道是否有一种方法可以在列表框上方固定的滚动查看器结束滚动后自动滚动列表框(固定在页面的页脚中)。

以下为参考图片。

在此处输入图片说明

请帮助,因为我是Windows开发的新手。

更新1:

添加以下代码作为基础:

 <ScrollViewer Name="Scroll1">//parent scrollViewer
 <Grid  Name="ScrollContent">
            <Grid.RowDefinitions>
                <RowDefinition Height="500"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
     <ScrollViewer  Name="A" Grid.Row="0" Grid.Column="0">//child scrollViewer
     ---//Code to display Title1
     <Listbox>
     ---
     ---
     </Listbox>
     --
     </ScrollViewer>

     <Grid Name="B" Grid.Row="1" Grid.Column="0">
     ---//Code to display Title2
     <Listbox>
     ---
     ---
     </Listbox>
     </Grid>

 </Grid>
 </ScrollViewer>

请让我知道是否有任何解决方法。

1 个回复

以下是实现此目的的步骤:

  1. 获取ScrollViewerHeight并保存在variable
    1. 设置ScrollViewer视图更改时的event
    2. 在上面的2内部,运行if语句以检查ScrollViewer vertical-offset是否等于Height 即,如果您已滚动到末尾。
    3. 隐藏/折叠ScrollViewer可见性以启用ListBox滚动。

如果根本不想隐藏ScrollViewer的可见性,则必须利用Grid children属性的灵活性。

在XAML中做这些

  1. ScrollViewerListBox放在Grid
  2. 定义GridVertical-Definitions并将第一Row Height设置为Auto
  3. 将第二Row Height设置为*
  4. ScrollViewer Row 0 RowListBox (具有固定高度) Row 1 Row

在c#中,在ScrollViewer ScrollChanged event ,一旦vertical-offset等于上面创建的GridHeight ,请通过反转它们在屏幕上的空间量来修改Grid属性。 即将Scroll Viewer Row Height更改为* (固定),并将ListBox Row Height更改为Auto

提供有关此过程的反馈。

如果您提供了一些代码来展示您如何尝试自己解决此问题,那么也许我会修改其中的错误。 但我希望我的回答有帮助。

1 自动滚动列表框

嘿! 现在首先有些人可能想大喊大叫-确实如此-但不是针对我的特殊情况...所以请帮助我:) 我将首先放置示例代码,以便在阅读说明之前获得自己的看法: 因此情况如下:我有一个仅包含静态列表和静态过程的类添加到该列表中(这是许多其他类的控制台输出,因此必须从多个类中进行访问,而无需重 ...

2010-10-21 13:18:09 4 6551   c#
8 键入时自动滚动列表框

我试图为一个ListBox编写VB.Net代码,在其中键入时自动滚动该Listbox。 这样,它将选择并突出显示前几个相似字母的项目; 下面的代码在第一次(即加载表单时)可以正常工作,但此后将停止工作。 任何想法? 末级 ...

9 神秘的自动滚动WPF列表框

有一个非常棘手的问题。 我的机器是Windows7 64位。 我的列表框在所有工作的64位计算机上正确滚动。 但是,在32位系统上,列表框无法正确滚动。 当用户单击向下箭头在列表框列表中导航时,它会下降,但随后又会跳回到顶部。 可以通过箭头,鼠标滚轮或在滚动条区域中单击来完成。 以前 ...

10 在Silverlight列表框中自动滚动

如何以编程方式强制Silverlight列表框滚动到底部,以便始终可以看到添加的最后一个项目。 我试过简单地选择这个项目。 它最终选择但仍然不可见,除非您手动滚动到它。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM