Я пытаюсь сделать так, чтобы пользователь мог щелкнуть левой кнопкой мыши ctrl за пределами richtextbox, чтобы прокрутить до процента от максимальной суммы прокрутки richtextbox в зависимости от положения мыши по отношению к верхней части richtextbox. Вот код, который я сейчас использую:
private void MainWindow_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (Keyboard.Modifiers == ModifierKeys.Control)
{
if (!richTextBox1.IsMouseOver)
{
double d = (e.GetPosition(richTextBox1).Y / richTextBox1.ActualHeight);
if (d > 1) { d = 1; }
d = (richtextboxScrollViewer.ExtentHeight * d);
richtextboxScrollViewer.ScrollToVerticalOffset(d);
}
}
}
Прямо сейчас это, кажется, работает, пока я не прокручиваю до конца, а затем я должен нажать на полпути вверх по richtextbox, чтобы он прокручивался вверх. Что я делаю не так?