ツールバーと、TabControlを含むグリッドをネストするコンテンツコントロールと、TabPanelをラップするScrollViewerを備えたWPFアプリケーションがあります。
scrollviewerはうまく機能しますが、マウスがタブコントロールの上にある場合に限ります。カーソルがウィンドウ内にある限り、スクロールビューアをスクロールさせるにはどうすればよいですか?
ウィンドウでイベントをキャプチャし、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);
}
}