xamarin 带有AndExpand的布局选项在.Net Maui中不推荐仅用于StackLayout或所有控件?

huus2vyu  于 2023-08-01  发布在  .NET
关注(0)|答案(2)|浏览(174)

当我使用带有FillAndExpand、CenterAndExpand等选项的StackLayout时,它显示以下消息The StackLayout expansion options are deprecated;please use a Grid instead.
因为现在我们HorizontalStackLayout和VerticalStackLayout。

Github上有类似的帖子:

https://github.com/dotnet/maui/discussions/7346

Microsoft文档也是这么说的:

https://learn.microsoft.com/en-us/dotnet/api/microsoft.maui.controls.layoutoptions.endandexpand?view=net-maui-7.0#microsoft-maui-controls-layoutoptions-endandexpand
问题是这是否也适用于.Net Maui中的所有其他控件,如Label,Button,Image,Entry等;还是只是为了StackLayout?

pgpifvop

pgpifvop1#

是的。这适用于所有控件。布局选项用于排列和定位控件。由于性能问题,Microsoft建议使用Grids而不是Stacklayout来排列和定位控件,而不是使用 *AndExpand(已在您的链接帖子中提到)

q7solyqu

q7solyqu2#

所有控制。

  • 在Xamarin.Forms中,if parent not a StackLayout,AndExpand无论如何都没有效果。AndExpand在任何其他布局中都没有意义。其他布局有自己控制大小的方式。

所以消息说“The StackLayout expansion options ...”,因为从StackLayout中取出这些选项意味着它们不再在任何地方使用。

  • 布局总是由一些布局类完成。(布局类是那些有孩子的:...LayoutGrid .)在一个元素上设置布局选项,就是告诉它的PARENT要做什么(对于给定的元素)。
  • 有关布局的其他信息:

Xamarin.Forms MAUI.Controls Layout Differences的数据。
重要提示(来自此链接):
为了简化从Forms到MAUI的迁移,MAUI.Controls StackLayout荣誉“AndExpand”,至少目前是这样。

  • 也就是说,StackLayout的子节点可以使用..AndExpand,并使其生效。目前。但这是“弃用”(可能会消失),不推荐(影响性能)。
  • 为了提高性能,请使用Vertical/HorizontalStackLayoutGridCollectionView with ItemsLayout,而不是StackLayout

相关问题