WPF - 如何从 C# 中的 XAML 文件中获取滚动查看器控件?

WPF - How could I get a scrollviewer control from my XAML file in C#?

我需要从 C# 中的 XAML 文件中获取一个特定的 ScrollViewer 控件,这样我就可以尝试实现一个拖动和滚动系统,当一个项目被拖动到边缘附近时它会滚动因此。但是我需要访问所有方法来执行此操作,但我找不到有关如何从 XAML.

获取特定滚动查看器的任何信息

我需要从一个单独的 .cs 文件访问它,大部分项目的转换器和函数都位于该文件中。不确定我是否看到了反对票,因为我对它做了很多研究。这是一些代码:

<ScrollViewer  x:Name="timelineScrollerRight" Grid.Row="1" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Disabled" PreviewMouseWheel="TimelineScrollerRightMouseWheel">

这就是我要访问的 ScrollViewer 标签。我想在由 ScrollViewer 中的另一个控件触发的 MouseMove 事件中更改 ScrollViewer 的 LineRight/LineLeft 属性。

C# 代码现在是空的,事件是空的,我希望能够声明一个变量以允许我更改 ScrollViewer 属性,以便在调用 MouseMove 事件时滚动 ScrollViewer 等等上。 ScrollViewer 位于名为 TimelineAnimationView.xaml 的文件中,事件发生在代码隐藏 TimelineAnimationView.xaml.cs 中。但如果需要,我也想从单独的 .cs 文件访问它。

通常您使用 x:Name:

访问它
<ScrollViewer x:Name="scoller"/>

如果您使用松散 XAML 执行此操作,例如在 UserControlWindow 中,您只需在代码中将其作为私有实例变量 scroller 进行访问-落后。

如果您在模板中使用 ScrollViewer 执行此操作,则必须使用 GetTemplateChild(在 OnApplyTemplate 中)查找具有相关名称的子类型:

scroller = GetTemplateChild("scroller");