Мне нужно создать некоторые FrameworkElements динамически. У меня есть StackPanel, и создать внутри него Pivot, с одной PivotItem, а внутри ScrollViewer с StackPanel и кнопками, как это:ScrollView не работает внутри динамически созданного элемента
Pivot pivot = new Pivot();
PivotItem pivotItem = new PivotItem();
pivot.Items.Add(pivotItem);
ScrollViewer scrollViewer = new ScrollViewer();
StackPanel stackContent = new StackPanel();
scrollViewer.Content = stackContent;
pivotItem.Content = scrollViewer;
stackContent.Children.Add(new Button() { Content = "button 1" });
stackContent.Children.Add(new Button() { Content = "button 2" });
stackContent.Children.Add(new Button() { Content = "button 3" });
stackContent.Children.Add(new Button() { Content = "button 4" });
stackContent.Children.Add(new Button() { Content = "button 5" });
stackContent.Children.Add(new Button() { Content = "button 6" });
stackContent.Children.Add(new Button() { Content = "button 7" });
stackContent.Children.Add(new Button() { Content = "button 8" });
stackContent.Children.Add(new Button() { Content = "button 9" });
stackContent.Children.Add(new Button() { Content = "button 10" });
stackContent.Children.Add(new Button() { Content = "button 11" });
stkPanel.Children.Add(pivot);
и это C# код XAML:
<StackPanel x:Name="stkPanel">
</StackPanel>
Если я пытаюсь создать все элементы в XAML, ScrollViewer работает так, как ожидалось, но мне нужно динамически создавать их, когда на странице происходят события.
Проверяя страницу в отладочной версии, PivotItem имеет «ActualHeight == 0», поэтому я полагаю, что ScrollViewer внутри нее не работает по этой причине, но я не знаю, как это исправить, возможно, что-то сказать ScrollViewer «перезарядите себя», чтобы заставить свиток работать.
Можете ли вы добавить рабочий код при создании всего в XAML? Но в основном StackPanel использует столько места, сколько требуется, поэтому ScrollViewer в StackPanel никогда не должен работать, если я не ошибаюсь ... – schumi1331
В этом проблема, проклятая StackPanel ... Если я изменю ее на Grid, все работает отлично! – CarlosTI