【问题标题】:Want to stop autoscroll of scrollviewer in specific page wpf想要在特定页面 wpf 中停止滚动查看器的自动滚动
【发布时间】:2017-06-09 11:13:53
【问题描述】:

我的 ScrollViewer 放在 Shell.xaml 文件中。我有多个嵌套的用户控件。我在所有页面上都显示我的标题,这对所有页面都是通用的。当我进入主屏幕时,我的滚动条从标题开始。 现在,当我搜索记录并取回结果时,我主页上的一些控件被启用,当焦点以编程方式改变时,它会自动将滚动条移动到屏幕底部。我想避免在我的主屏幕上自动滚动,但希望它在所有其他屏幕上。我搜索了许多选项,我尝试使用“RequestBringIntoView”来防止自动滚动,尝试再次关注我的标题但没有奏效。 是否有任何其他选项可以防止仅在一个屏幕上自动滚动? Refer this image to understand the problem

由于我是 WPF 新手,如果您指定详细步骤将非常有帮助

【问题讨论】:

    标签: wpf xaml scrollviewer autoscroll


    【解决方案1】:

    尝试了很多停止自动滚动的选项,但没有奏效。尝试添加自定义滚动行为但没有成功。

    我不想根据 MVVM 架构向 xaml.cs 文件添加任何内容,但我必须添加“RequestBringIntoView”事件以停止自动滚动并且它有效,我必须将其添加到 shell.xaml 文件中滚动查看器已放置。

    【讨论】:

      【解决方案2】:

      如果您实际上包含一个 XAML 示例和背后的代码,将会更有帮助。 我会尽我所能提供帮助。您可能希望将滚动查看器元素添加到代码中,以便调整属性以禁用滚动。

      <window propertyname="stuff">
      <scrollviewer isEnabled="false">
      //content here
      </scrollviewer>
      </window>
      

      但是,我可能在很多方面都错了。最好的办法是使用 Microsoft Visual Studio,它最适合 WPF 应用程序。您可以通过单击项目轻松查看属性窗口,并从那里找到滚动查看器的正确属性。 希望我能帮上忙。

      【讨论】:

      • 对不起,我之前的陈述是错误的。您应该将所有内容放入网格中,然后您应该能够设置滚动查看器。
      猜你喜欢
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多