Я использую RadrikridView Telerik в UserControl для отображения списка сообщений, полученных с сервера XMPP. Я смог установить его так, чтобы при получении сообщения я мог прокрутить до конца списка что-то вроде этого:
private GridViewScrollViewer scrollViewer;
void controller_OnMessageReceived(object sender, EventArgs e)
{
scrollViewer = receivedMessageList.ChildrenOfType<GridViewScrollViewer>().FirstOrDefault();
scrollViewer.ScrollToBottom();
}
Однако я хочу отключить автоматическую прокрутку, когда пользователь использует полосу прокрутки, а затем снова включить ее, когда прокручивает страницу вниз. Я думал, что смогу присоединиться к событию ScrollChanged
, но, похоже, в нем недостаточно информации для использования.
В качестве небольшого дополнения к этому в событии Loaded
элемента управления и RadGridView вызов scrollViewer, который я описал выше, становится нулевым. Я думал, что когда-то элемент управления был загружен, что все элементы пользовательского интерфейса готовы?