我在UserControl中使用Telerik的RadGridView來顯示從XMPP服務器收到的消息列表。我已經能夠設置它,這樣,當我收到一個消息,我可以滾動到列表的底部,像這樣的東西:停止自動滾動到列表框的底部
private GridViewScrollViewer scrollViewer;
void controller_OnMessageReceived(object sender, EventArgs e)
{
scrollViewer = receivedMessageList.ChildrenOfType<GridViewScrollViewer>().FirstOrDefault();
scrollViewer.ScrollToBottom();
}
但是我希望能夠做的是禁用自動滾動時用戶使用滾動條,然後在滾動到列表底部時重新啓用它。我想我可以附加到ScrollChanged
賽事,但這似乎並沒有足夠的信息供我使用。
作爲控件的Loaded
事件中的一個輕微除此之外,RadGridView上面的scrollViewer調用爲空。我認爲,一旦控制Loaded所有的UI元素都準備好了?
將滾動查看器更改爲可見不起作用。我確信有控制權造成了這種情況。最終我會懷疑它會追蹤到它。監控偏移量聽起來可能是一種方法,但是當窗口大小發生變化或者列表框也隨之偏移時,我想可能會涉及到各種地方的監控。但這是一個開始的地方我猜:-) – Firedragon