Я начал разработку WP7 около недели назад (и программирование в целом), и я работал над небольшим приложением, но столкнулся с проблемой правильной работы ScrollViewer.
Приложение создает новый элемент сводки при выполнении определенных условий, и я пытаюсь добавить в него прокручиваемый текстовый блок, который показывает случайно выбранные строки текста из списка каждый раз, когда пользователь нажимает на экран, некоторые из которых достаточно длинные, чтобы требовать вертикальная прокрутка.
// A bit cleaned version of my code,
// had to translate stuff a bit for them to make sense
// Sets the PivotItem header depending on user choice
// and creates ScrollViewer and TextBlock
PivotItem newPivotItem = new PivotItem { Header = choice, Name = "newPivot"};
ScrollViewer newScrollviewer = new ScrollViewer();
TextBlock newTextBlock = new TextBlock { Text = "tap the screen", Name = choice};
newScrollviewer.Content = newTextBlock;
newPivotItem.Content = newScrollviewer;
mainPivot.Items.Add(newPivotItem);
Текст добавляется в событие Tap, которое просто заменяет свойство Text новой строкой. Текст обновляется нормально и по назначению, но ScrollViever перестает работать после обновления.
newString = list[rand];
PivotItem selectedPivot = mainPivot.SelectedItem as PivotItem;
TextBlock selectedText = selectedPivot.FindName(choice) as TextBlock;
selectedText.Text = newString;
selectedText.Height = selectedText.ActualHeight;
Аналогичная комбинация ScrollViewer и TextBlock в другом PivotItem, объявленном в xaml, работает нормально.