2012-12-03 61 views

回答

4

您需要使用列表視圖currentItem屬性: http://msdn.microsoft.com/en-us/library/windows/apps/hh700672.aspx

具體來說,你要選擇(從數據源)中的數據項的指標分配一個對象,並且hasFocusshowFocus屬性設置:

var yourListView = getYourListViewFromSomewhere(); 
yourListView.currentItem = { index: 8, hasFocus: true, showFocus: true } 
+0

多米尼克,這裏我使用json響應作爲我的應用程序中的數據源。並且我無法集中一個listview項目,我已經設置了上面的屬性,但仍然關鍵顯示爲null,並且showFocus爲false。在哪裏做錯? –

+0

你不會像這樣訪問他們,你*設置*他們;如果您正確使用索引來引用數據源中的項目位置,它將起作用。當然,如果你在設置任何數據之前設置了*,那顯然不起作用。 –

+0

@DominicHopton如何禁用listview上的鍵盤導航? –

1

您是要求設定焦點還是實際選擇它?如果你想要做的是後者,所有你需要做的是以下幾點:

var indexToSelect = listView.itemDataSource.length - 1; 
listView.selection.set(indexToSelect); 

這將讓在列表的最後一個項目的索引,然後選擇項目。

否則Dominic的解決方案應該只是設置焦點。

1

下面是一段代碼到列表視圖的選擇更改索引到最後一個索引

1)lstItems.SelectedIndex = lstItems.Items.Count - 1;

這個代碼可以幫助您選擇列表中的最後一個索引。

2)lstItems.ScrollIntoView(lstItems.Items[lstItems.Items.Count - 1]);

這個代碼可以幫助你在列表中滾動到最後一個索引。兩者的代碼行,是用於metro應用

闡述第二個代碼段:

lstItems.ScrollIntoView方法滾動的列表中指定的列表項,我們通過lstItems.Items[lstItems.Items.Count - 1]獲得它滾動到的最後一個項目名單。

相關問題