2012-07-04 5 views
1

У меня есть ListView и сгруппированные элементы внутри него. У пользователя разные способы навигации по странице, и в соответствии с тем, как он осуществляет навигацию, я хочу иметь определенную группу при просмотре страницы.Прокрутка WinRT ListView к определенной группе

Я попытался установить эти:

itemGridView.ScrollIntoView(....); 
itemGridView.SelectedIndex = ....; 
itemGridView.SelectedItem = ....; 

где itemGridView это имя ListView, но ничего из этого не похоже на работу.

Любая помощь приветствуется, спасибо.

ответ

1

Вы можете выполнить визуальное перемещение дерева, чтобы найти ScrollViewer, который является частью шаблона ListView, найти группу и прокрутить ScrollViewer до положения вашей группы.

+0

Завтра я сделаю снимок. Я надеялся на более простое решение, но если человеку нужно пересечь визуальное дерево, человек должен пройти визуальное дерево: D –

+0

Инструмент WinRT XAML Toolkit должен сделать это легко. Просто вызовите var sv = itemGridView.GetFirstDescendantOfType (), затем var groupView = sv.GetDescendantsOfType (). Где (gv => gv.DataContext == yourGroupViewModel), затем sv.ScrollIntoView (gv). Хорошо, если это не работает, конечно ... :) –

+0

Где и когда было бы безопасно искать потомков, если все связано с данными? Я попытался использовать Loaded обработчик событий на странице, но кажется, что еще не созданы все группы (например, список потомков имеет 3 элемента, хотя у меня есть 5 групп и т. Д.) –