允许内部水平滚动ScrollViewer内部的外部ScrollViewer垂直滚动

时间:2019-05-19 19:15:30

标签: c# .net wpf xaml

当ScrollViewer内有ScrollViewer时,使用滚轮滚动仅限于内部滚动。当它们具有相同的“方向”时,这是有道理的。但是当外部只允许垂直滚动,而内部只允许水平滚动时,我希望内部鼠标内部的鼠标滚轮滚动可以在外部ScrollViewer中垂直滚动。没有。有没有办法做到这一点?

在以下代码中,尝试在红色字母区域内使用滚轮:

class Base {
    public String name() { return this.func(); }
    public String func(){return "Base";}
}

class Derived extends Base {
    public String func(){return "Derived";}
}

public class Test {
    public static void main(String[] args) {
        System.out.println(new Derived().name());
    }
}

1 个答案:

答案 0 :(得分:1)

如果可以使用后台代码,则可以为“子项” File Name | Path | Size Group1: ABC.docx | C:\Mike | 30 KB XYZ.png | C:\Mike | 10 KB Group2: CDE.jpg | D:\Jobs | 15 KB GHI.tmp | D:\Jobs | 2 KB Group3: OPQ.rar | E:\Tims \ 10 MB 的{​​{1}}事件创建事件处理程序,并且可以在事件处理程序中传递{{ 1}}信息发送给“父母” PreviewMouseWheel,以引发自己的ScollViewer事件。

首先,将对XAML进行一些小的更改:

给“父级” MouseWheelEventArgs命名,以便可以从后面的代码中引用它:

ScrollViewer

为“子项” MouseWheel的{​​{1}}事件创建事件处理程序:

ScrollViewer

最后,在事件处理程序中实现代码以引发“父” <ScrollViewer x:Name="parentScrollViewer" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"> 事件:

PreviewMouseWheel