1
我试图让这个用户可以在RichTextBox之外按住Ctrl键单击滚动到RichTextBox中的最大的百分比滚动量基于相对于richtextbox顶部的鼠标y.position。下面是我目前使用的代码:需要有滚动到RichTextBox中的最大滚动量的百分比帮助(RichTextBox的是在ScrollViewer中)
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的,以使其向上滚动。我究竟做错了什么?
不幸的是,它仍然显示相同的行为,只有小改进:( – Justin