我有一个客户页面,其中包含客户名称的信息
此页面包含 StackPanel ,在此StackPanel内部有一个 ScrollViewer ,在ScrollViewer中还有另一个 StackPanel 。
我正在动态添加StackPanel的数量
在StackPanel内部我动态地添加TextBlock,其中包含文本
然后添加InkPresenter以显示分离。
我的问题是在每次尝试使用页面时添加后,它都不会滚动。
事实上,如果我向上滑动页面下降并返回。
XAML:
<StackPanel>
<ScrollViewer Margin="0,-20,0,0" Grid.RowSpan="2" >
<StackPanel Height="Auto" x:Name="pottilelist" >
</StackPanel>
</ScrollViewer>
</StackPanel>
StackPanel stk = new StackPanel();
stk.Name = g.id.ToString();
stk.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(Customer_Click);
TextBlock tbx = new TextBlock();
tbx.Text = g.customername;
tbx.Name = "A" + g.id.ToString();
tbx.FontSize = 36;
tbx.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(Customer_Click);
tbx.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
stk.Children.Add(tbx);
InkPresenter ink = new InkPresenter();
ink.Height = 4;
ink.Background = Brush3;
ink.Margin = new Thickness(0, 0, 0, 20);
stk.Children.Add(ink);
pottilelist.Children.Add(stk);
在一个应用程序中它起作用,但在另一个应用程序中它没有。你能救我吗?
答案 0 :(得分:0)
尝试将滚动查看器放在包含所有页面内容的布局网格(主网格)周围。我认为这应该可以解决问题。
只要您使用数据透视表模板,只需将其放在网格周围的枢轴项目减速后就可以了,它应该有效!
<phone:PivotItem Header="PivotItem">
<ScrollViewer>
<Grid x:Name="LayoutRoot" Background="#7F000000" >
答案 1 :(得分:0)
这取决于您的堆叠面板放置在网格内的位置。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="1">
<ScrollViewer>
<StackPanel></StackPanel>
</ScrollViewer>
</StackPanel>
</Grid>
在上面的代码中,由于高度的原因,scrollviewer将按预期工作。 如果您在可视树中设置了位置的高度,则scrollviewer可能无法滚动。
答案 2 :(得分:0)
我已经解决了这个问题。当stackpanel或scrollviewer没有高度时会发生此问题。 高度问题