真正的答案是:
*獲取ListView的ScrollViewer。
* ScrollViewer.VerticalOffset是第一個顯示項目的索引。
* ScrollViewer.ViewportHeight是顯示的項目數。
爲了得到ScrollViewer中,您將需要一個功能, FindDescendant(FrameworkElement的,類型)將在 的ListView的孩子的內搜索 。窗口加載後調用它。
代碼在VB.Net和C#:
Public Function FindDescendant(ByVal MyElementToSeek As FrameworkElement, _
ByVal TypeToFind As Type) As FrameworkElement
If MyElementToSeek Is Nothing Then Return Nothing
If MyElementToSeek.GetType() = TypeToFind Then Return MyElementToSeek
For i = 0 To VisualTreeHelper.GetChildrenCount(MyElementToSeek) - 1
Dim OneChild = TryCast(VisualTreeHelper.GetChild(MyElementToSeek, i), FrameworkElement)
Dim Result = FindDescendant(OneChild, TypeToFind)
If Result IsNot Nothing Then Return Result
Next
Return Nothing
End Function
。
public FrameworkElement FindDescendant(FrameworkElement MyElementToSeek,
Type TypeToFind)
{
if (MyElementToSeek == null) return null;
if (MyElementToSeek.GetType() == TypeToFind) return MyElementToSeek;
for (i = 0;
(i<= (VisualTreeHelper.GetChildrenCount(MyElementToSeek) - 1)); i++)
{
object OneChild = TryCast(VisualTreeHelper.GetChild(MyElementToSeek, i),
FrameworkElement);
object Result = FindDescendant(OneChild, TypeToFind);
if (Result) return Result;
}
return null;
}
}
' MyScrollViewer = FindDescendant(MyListView, ScrollViewer)
你的問題的標題,並在正文不要的問題讀同樣的東西。標題聽起來像你想要的開始索引和行數,但在它的問題,它讀取像你想每個行的數據是不同的問題。 – Jbecwar 2012-12-11 15:24:21
它是前一段時間,但它是我需要的索引和數字。正如問題中提到的,我使用的是第三方數據庫,因此我不希望任何人回答關於在數據庫中沒有更多ino的情況下獲取數據的問題。 – Simon 2012-12-11 17:56:25