滚动查看器是一种用户界面构造,它为放置在其中的任何控件(或控件层次结构)提供滚动区域。
在ListBox项目内按ScrollViewer不会选择该项目
我给了一个列出项目的ListBox。这些项目的大小可能有所不同,但遵循相同的模式:图片........元数据ID
我在Scrollviewer内部有一个带标题控件和DataGrid的StackPanel;像这样: [[[[] ] >> 我也一直在为您的第一个问题而苦苦挣扎-使用内部ScrollViewer(在这种情况下为DataGrid)滚动外部ScrollViewer。但是我认为我有一个非常优雅的解决方案。您必须向DataGrid的PreviewMouseWheel事件添加一个事件处理程序(以及ScrollViewer的名称): <ScrollViewer x:Name="scroll_viewer"> <StackPanel Orientation="Vertical"> <Canvas x:Name="header" Height="300" /> <DataGrid x:Name="dataGrid" PreviewMouseWheel="mousewheel"> </DataGrid> </StackPanel> </ScrollViewer> 然后是事件处理方法: private void mousewheel(object sender, MouseWheelEventArgs e) { //what we're doing here, is that we're invoking the "MouseWheel" event of the parent ScrollViewer. //first, we make the object with the event arguments (using the values from the current event) var args = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta); //then we need to set the event that we're invoking. //the ScrollViewer control internally does the scrolling on MouseWheelEvent, so that's what we're going to use: args.RoutedEvent = ScrollViewer.MouseWheelEvent; //and finally, we raise the event on the parent ScrollViewer. scroll_viewer.RaiseEvent(args); } 希望这会有所帮助! 这是一个非常复杂的问题,可能需要一个人周才能完成!但是,这是一个可以解决您一半问题的开始: <ScrollViewer x:Name="scroll"> <DataGrid x:Name="dataGrid"> <DataGrid.Template> <ControlTemplate> <StackPanel Orientation="Vertical"> <Canvas x:Name="header" Height="300" /> <ItemsPresenter/> </StackPanel> </ControlTemplate> </DataGrid.Template> </DataGrid> </ScrollViewer> 如果将画布放在数据网格的模板中,它将被视为数据网格的一部分,因此画布和数据网格将被滚动为一个。 很显然,这种方式的datagrid模板将为空白,不显示标题。因此,您需要从头开始重写它。为此,您可以使用the default source code。 要查找模板,只需搜索<ControlTemplate TargetType="{x:Type DataGrid}">在给定的链接中。
我有一个窗口样式设置为None的窗口,它处理OnPreviewMouseDown,OnPreviewMouseUp和OnMouseMove,以便可以从任何位置拖动该窗口。后面的Windows代码看起来像...
如何在UWP中放大滚动查看器,但保持滚动查看器的宽度和高度被拉伸以适合父面板或网格列?
请参见下面的图像。一种是78%的缩放,但是尽管将“水平和垂直对齐”设置为“拉伸”,但整个内容会缩小,但不会拉伸到其父控件。 ScrollViewer ...
编辑原来,滚动条在那里很好,但是由于外面的滚动条不可见,所以转储...。任何想法如何使垂直滚动条即使在看不见的情况下也仍然可见?这就是...
我正在小型设备上的触摸屏上工作,并且滚动条的自定义宽度不好,因为我的要求之一是,一切都需要通过手指手势才能完成。如何设置...
我创建了一个自定义画布控件,该控件继承自WPF Canvas。我在主窗口中这样使用它-
现在,我有两个滚动查看器,它们都需要始终具有相同的偏移量。我现在拥有的(有效)解决方案是ScrollChanged事件。如果触发了ScrollChanged事件...
我需要垂直(使用ScrollViewer列出所有大小相同的项目)。如果容器足够大以显示x列,我希望这些项通过x列散布,我首先尝试过:
我想知道ScrollViewer.ScrollToHome()和ScrollViewer.ScrollToTop()之间的实际区别是什么。他们是一样的吗?两者的文档都说:垂直滚动到...
scrollviewer内部的Listview阻止scrollviewer滚动
我有一个带有几个列表框的滚动查看器。问题是,如果用户在鼠标位于列表视图上方时使用鼠标中键滚动滚动查看器。列表视图滚动其...
为什么UWP中的用户UserControl中的Scroll-viewer无法正常工作……任何建议?
我正在使用https://docs.microsoft.com/zh-cn/uwp/api/windows.ui.xaml.controls.scrollviewer中提供的示例代码,如下所示在UWP UserControl中创建滚动查看器, UserControl不...
[WindowsFormsHost控件在WPF ScrollViewer中嵌入时被覆盖
由于某种原因,我有一个嵌套在WPF ScrollViewer中的WindowsFormsHost,在应用裁剪后,似乎WIndowsFormsHost并未填充所有可用空间,即:控件...
ScrollViewer.ChangeView()不会水平滚动
我正在尝试创建两个分别垂直和水平滚动的滚动查看器。滚动应该在检测到操纵增量事件时开始,并且我已经使用ChangeView ...