2014-04-08 22 views
1

這樣一個簡單的任務,但我真的找不到一個辦法。我需要知道用戶是否顯示ListView正在顯示最後一個項目。檢測ListView是否顯示最後一項

有人在ScrollBar.Scroll事件的事件Scroll接近這個問題,但那不是我的情況:我需要檢查,如果在觸發另一個風馬牛不相及的自定義事件的ListView最後一項可見。

文本框和自己的方法.GetLastVisibleLineIndex(),這是非常方便的做到了,但我不能找到的ListView任何類似的方法。

我該如何解決這個問題?

回答

1

嗯..我解決了最後!從這個博客使用IsFullyOrPartiallyVisible功能:http://munnaondotnet.blogspot.it/2011/09/is-item-is-visible-in-scroll-viewer.html

我的ListView的名字是ListViewData

try 
{ 
    if (IsFullyOrPartiallyVisible((ListBoxItem)listViewData.ItemContainerGenerator.ContainerFromItem(listViewData.Items[listViewData.Items.Count - 1]), listViewData)) 
    { 
     listViewData.SelectedIndex = listViewData.Items.Count - 1; 
     listViewData.ScrollIntoView(listViewData.SelectedItem); 
    } 
} 
catch { } 

我不喜歡問問題,並在不到10分鐘回答這個問題,但我是從一個掙扎在這前幾天在這裏問:) :)