Silverlight:用户如何确定垂直滚动?

时间:2011-03-11 18:03:35

标签: c# .net silverlight events scrollbar

我想检查用户操作后滚动位置是否已更改。 我为它添加了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();
                }
            }
        }

0 个答案:

没有答案