У меня есть приложение 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);
}