在 XAML 中,两个堆栈面板叠加在一个网格中

本文关键字:叠加 一个 网格 堆栈 XAML 两个 | 更新日期: 2023-09-27 18:37:08

我的Windows手机上有这个XAML:

<phone:PanoramaItem Header="{Binding LocalizedResources.balance, Source={StaticResource LocalizedStrings}}">
            <StackPanel Margin="15,0,0,0" >
                <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
                    <Grid>
                        <StackPanel x:Name="AccountsInfo" Grid.Column="1">
                        </StackPanel>
                        <StackPanel Grid.Column="2">
                            <local:RateChart x:Name="rateChart" Height="324" Margin="-12,25,0,0" Width="417" />
                        </StackPanel>
                    </Grid>
                </ScrollViewer>
            </StackPanel>
        </phone:PanoramaItem>

在AccountsInfo Stackpanel中,我以编程方式添加了5个帐户,RateChart是一个图表。但是,我的费率图表应该在所有帐户下方,目前它位于屏幕顶部并覆盖第一个帐户。我不知道如何做方向。

感谢您的所有答案。

在 XAML 中,两个堆栈面板叠加在一个网格中

在我看来

,你所需要的只是这样的东西。我们摆脱了不必要的面板,实际上在您的第二个StackPanel中指定了它需要在父Grid中的位置,同时在其他属性上丢弃了一些不必要的值。希望这有帮助。

<phone:PanoramaItem Header="{Binding LocalizedResources.balance, Source={StaticResource LocalizedStrings}}">            
   <ScrollViewer HorizontalScrollBarVisibility="Auto" 
                 VerticalScrollBarVisibility="Auto">
      <Grid>
         <Grid.RowDefinitions>
            <RowDefinition Height="Auto">
            <RowDefinition Height="Auto">
         </Grid.RowDefinitions>
         <StackPanel x:Name="AccountsInfo">
         </StackPanel>
         <StackPanel Grid.Row="1">
            <local:RateChart x:Name="rateChart" 
                             Width="417"
                             Margin="0,25,0,0" />
         </StackPanel>
      </Grid>
   </ScrollViewer>
</phone:PanoramaItem>