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

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

问题描述:

我的ScrollViewer被放置在Shell.xaml文件中。我有多个嵌套UserControls。我在所有页面上显示我的页眉,这对所有页面都很常见。当我回到主屏幕时,我的滚动条从标题开始。 现在,当我搜索记录并获得结果时,我的主页上的一些控件被启用,它会自动将我的滚动条移动到屏幕底部,因为焦点以编程方式发生变化。我想避免在主屏幕上自动滚动,但希望在所有其他屏幕上显示。我搜索了很多选项,我尝试使用'RequestBringIntoView'来防止自动滚动,试图再次将注意力集中到我的标题上,但没有奏效。 是否有任何其他选项可以防止只有一个屏幕自动滚动? Refer this image to understand the problem想要停止在特定页面中滚动查看器的自动滚动wpf

由于我是新来WPF,如果指定具体步骤

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

我不想根据MVVM体系结构添加任何内容到xaml.cs文件,但我必须添加'RequestBringIntoView'事件来停止自动滚动并且它能够工作,并且必须将其添加到shell.xaml文件中scrollviewer被放置在哪里。

这将是一个很大更有帮助,如果你实际上包括您的XAML的例子,后面的代码,这将是非常有益的。 我会尽力帮助尽我所能。您可能需要将滚动查看器元素添加到代码中,以便您可以调整属性以禁用滚动。

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

但是,我可能是错误的很多这一点。最好的做法是使用Microsoft Visual Studio,最适合WPF应用程序。您可以通过单击该项目轻松浏览属性窗口,然后从该窗口中可以找到滚动查看器的正确属性。 希望我能帮上忙。

+0

对不起,我以前的说法是错误的。您应该将所有内容放入网格中,然后您应该能够设置滚动查看器。 –

+0

感谢@Rohan的回复。它不起作用。 – umesh07