想要在特定页面 wpf 中停止滚动查看器的自动滚动

Want to stop autoscroll of scrollviewer in specific page wpf

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

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

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

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

但是,我可能错了很多。最好的办法是使用 Microsoft Visual Studio,它最适合 WPF 应用程序。您可以通过单击项目轻松查看属性 window,然后您将能够从那里找到滚动查看器的正确属性。 希望能帮到你。

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

我不想根据 MVVM 架构向 xaml.cs 文件添加任何内容,但我必须添加 'RequestBringIntoView' 事件以停止自动滚动并且它起作用了,我必须添加它到放置滚动查看器的 shell.xaml 文件。