我有一个WPF应用程序,该应用程序具有一个工具栏,然后是一个内容控件,该控件嵌套一个网格,该网格包含一个TabControl和一个包装TabPanel的ScrollViewer。

滚动查看器效果很好,但前提是我的鼠标悬停在选项卡控件上。只要光标在窗口中,如何使滚动查看器滚动?

最佳答案

尝试在Window中捕获事件,并在TabControl中引发事件,围绕该事件(未经测试):

private void Window_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
    if (!e.Handled)
    {
        e.Handled = true;
        var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
        eventArg.RoutedEvent = MouseWheelEvent;
        eventArg.Source = sender;
        MyTabControl.RaiseEvent(eventArg);
    }
}

关于c# - 使WPF Scroll Viewer滚动而不管鼠标位置如何,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14441527/

10-12 14:41