我想检查用户操作后滚动位置是否已更改。 我为它添加了m_bScrollWillBeChangedByUser字段, 但它总是如此, 因为只有当OnVerticalOffsetChanged事件调用时 ChangeScroll结束。 这对我来说真的很奇怪。 我该如何解决这个问题?
功能:
private void ChangeScroll()
{
m_bScrollWillBeChangedByUser = false;
scrollViewer.ScrollToVerticalOffset(scrollOffset);
m_bScrollWillBeChangedByUser = true;
}
事件:
public void OnVerticalOffsetChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
if (m_bScrollWillBeChangedByUser)
{
if (m_timerUserScroll != null)
{
m_bAllowToUpdateScroll = false;
m_timerUserScroll.Stop();
m_timerUserScroll.Interval = TimeSpan.FromSeconds(m_nTrainGraphAutoScrollTimeout);
m_timerUserScroll.Start();
}
}
}