使用 <StackLayout> 或 <Grid> 有什么优势吗?

1 xamarin xamarin.forms

我的代码如下所示:

<ListView.Header>
   <StackLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
      <StackLayout Padding="10,35,10,10" Orientation="Horizontal" HorizontalOptions="FillAndExpand">
         <local:ExtLabel ExtStyleId="Body" Text="Custom body Label"></local:ExtLabel>
         <local:ExtLabel ExtStyleId="Header" Text="Custom hdr Label"></local:ExtLabel>
      </StackLayout>
   </StackLayout>
</ListView.Header>
Run Code Online (Sandbox Code Playgroud)

是否可以使用 a 来实现这一点,<Grid>并且它是否<Grid>提供比 a 更大的灵活性<StackLayout>

Ger*_*uis 6

我想您可能想看看这篇关于此的优秀博客文章。消息来源是 Xamarin 的一名员工,更是 Forms 的创始人之一。

一些关于布局的要点:

  • 请勿使用 aStackLayout来接待单个孩子。

  • Grid当 a足够时,请勿使用 a StackLayout

  • 当一个就足够时,不要使用多个StackLayouts Grid

  • 使用 aGrid来实现分层。

就外观而言,两者都可以达到相同的效果。关于性能,请查看完整的博客文章(以及这些规则)来决定更好的选择。