当Scrollviewer在其上方完成滚动时,如何自动滚动列表框

时间:2018-04-12 13:48:03

标签: c# xaml windows-phone-8 scrollviewer

我正在开发一个Windows应用程序,

我有一个父卷轴查看器,里面有子滚动查看器和列表框。

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

下面是参考图片。

enter image description here

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

UPDATE1:

添加以下代码作为依据:

 <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 个答案:

答案 0 :(得分:0)

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

  1. 获取Height的{​​{1}}并保存在ScrollViewer中。
    1. variable视图更改时设置event
    2. 在上面的2中,运行ScrollViewer语句检查if ScrollViewer是否等于vertical-offset。即如果你滚动到最后。
    3. 隐藏/废弃Height的可见性,以启用ScrollViewer滚动。
  2. 如果您根本不想隐藏ListBox的可见性,则必须利用ScrollViewer子属性的灵活性。

    在xaml中执行这些操作

    1. GridScrollViewer放入ListBox
    2. 定义Grid的{​​{1}},并将第一个Vertical-Definitions Grid设为Row
    3. 将第二个Height Auto设为Row
    4. 提供Height * ScrollViewerRow(固定高度)0 ListBox
    5. 在c#中 在Row 1 ScrollViewer中,一旦ScrollChanged等于上面创建的event的{​​{1}},修改vertical-offset通过反转它们在屏幕上的空间量来实现属性。即将滚动查看器Height Grid更改为Grid(已修复),并将Row Height *更改为ListBox。< / p>

      提供反馈意见。

      如果您提供了一些代码来说明您是如何尝试自行修复的,那么也许我会修改其中的错误。但我希望我的回答有所帮助。