2010-04-16 3 views
0

У меня есть приложение silverlight 3 с текстовым полем в главном окне и дочернее окно, в котором есть список всех возможных значений текстового поля. Когда я открою этот дочерний случай, я хочу, чтобы он переместился в нужное место в списке.Прокрутка к списку в списке Silverlight 3

Я пытаюсь сделать это с помощью кода ниже ... с помощью ScrollIntoView. Он не работал вообще, пока я не добавлю UpdateLayerout(). Однако, похоже, он не работает все время. Время от времени он прокручивается, но не весь путь к элементу, это несколько пунктов выше, чем должно быть. Список находится в Аккордеоне, и в элементах списка используется ItemTemplate \ DataTemplate, не уверен, что это что-то влияет, но я думал об этом.

Любые идеи, что мне не хватает в коде ниже?

Что я хотел бы прокрутить элемент вверху списка ... любые идеи, как это сделать?

(Или любые другие предложения о том, как закодировать это лучше)

Спасибо!

for (int index = 0; index < myList.Items.Count; index++) { 
     object obj = myList.Items[index]; 
     var listItem= obj as listItemObject; 
     if (listItemObj != null) { 
      if (string.Compare(listItemObj.id, _PastedInId, StringComparison.InvariantCultureIgnoreCase) == 0) { 
       selectThisIndex = index; 
       scrollToThisItem = obj; 
      } 
     } 
    } 
    myList.SelectedIndex = selectThisIndex; 
    if (scrollToThisItem != null){ 
     myList.UpdateLayout(); 
     myList.ScrollIntoView(scrollToThisItem); 
    } 

ответ

Смежные вопросы