none
GridView穿透Scroll事件 RRS feed

  • 问题

  • 我的页面结构伪代码是这样

    <GridView x:Name="ParentGridView">
         <GridViewItem>
             <GridView></GridView>
        </GridViewItem>
         <GridViewItem>
             <GridView></GridView>
        </GridViewItem>
    </GridView>

    一个GridView里横向包含几个GridView, 只有最外面的ParentGridView有横向滚动条,其它没有

    现在用鼠标滚轮滚动的时候,Scroll事件会被里面的GridView(没有滚动条)截断,不能继续滚动ParentGridView,只能点击下方的滚动条实现滚动

    有什么办法可以让Scroll事件穿透到让ParentGridView响应吗?


    2012年7月26日 1:31

答案

  • 只有让里面的GridView不接受HitTest (IsHitTestVisible="False")的就不会处理了。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    • 已标记为答案 troyou 2012年7月26日 10:34
    • 取消答案标记 troyou 2012年7月26日 11:21
    • 已标记为答案 Jie BaoModerator 2012年8月3日 11:31
    2012年7月26日 7:59
    版主
  • 这点我昨天在回复时已经想到了。 其他的方法想来想去,也就是在里面的GridView中处理PointerWheelChanged事件,让其滚动条的位置固定,最后在其中控制外部的滚动条滚动,也就是说,这个动作所实现的逻辑全部由我们自己去写。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年7月27日 6:07
    版主

全部回复