是什么导致此StackPanel滚动问题?

问题描述 投票:0回答:3

我有一个包含客户名称信息的客户页面。此页面包含一个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);

在一个应用程序中,它起作用了,但在另一个应用程序中却没有。

c# windows-phone-7 layout windows-phone-8
3个回答
0
投票

[尝试将scrol查看器放在包含所有页面内容的布局网格(主网格)周围。我认为这应该可以解决问题。

只要您正在使用数据透视模板,只需将其放在网格周围该数据透视项目减速之后,它就可以工作!

<phone:PivotItem Header="PivotItem">

            <ScrollViewer>

            <Grid x:Name="LayoutRoot" Background="#7F000000" >

0
投票

这取决于您的堆栈面板在网格中的放置位置。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="100"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <StackPanel Grid.Row="1">
        <ScrollViewer>
            <StackPanel></StackPanel>
        </ScrollViewer>
    </StackPanel>
</Grid>

在上面的代码中,由于高度,scrollviewer将按预期工作。如果您已在其视觉树中设置了位置的高度,则scrollviewer可能不会滚动。


0
投票

我已经解决了问题。当堆栈面板或scrollviewer没有高度时,会发生此问题。 身高问题

© www.soinside.com 2019 - 2024. All rights reserved.