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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是什么导致此StackPanel滚动问题?相关的知识,希望对你有一定的参考价值。

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

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

答案

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

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

<phone:PivotItem Header="PivotItem">

            <ScrollViewer>

            <Grid x:Name="LayoutRoot" Background="#7F000000" >
另一答案

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

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

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

另一答案

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

以上是关于是什么导致此StackPanel滚动问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 ScrollViewer 在 StackPanel 中工作?

XAML/WPF - 里面有 StackPanel 的 ScrollViewer 不滚动

当 URL 包含片段时,iframe 会导致父元素在 Google Chrome 上向上滚动

WPFWPF为stackpanel设置滚动条

wpf listbox 显示不全 而且没滚动条

wpf listbox 显示不全 而且没滚动条