就我使用 MAUI 的经验而言,我只使用<VerticalStackLayout/>
和<HorizontalStackLayout/>
来水平或垂直定位子元素。
我很少或几乎从来不用,<StackLayout/>
因为我读到过它的性能可能会稍差一些。
什么时候建议使用<StackLayout/>
和调整其Orientation
属性?
我应该使用...
<StackLayout Orientation="Horizontal">
<StackLayout/>
<StackLayout Orientation="Vertical">
<StackLayout/>
...而不是...
<HorizontalStackLayout>
<HorizontalStackLayout/>
<VerticalStackLayout>
<VerticalStackLayout/>
...或者反过来,取决于不同的情况?
从 MAUI 上的 GitHub 问题(https://github.com/dotnet/maui/issues/6766)中,可以简单解释一下
StackLayout
与HorizontalStackLayout
和相比的运行性能VerticalStackLayout
。最简单的观察方法就是坚持这一点:
如果您知道布局的方向不会改变,那么请根据需要的方向使用
HorizontalStackLayout
或。VerticalStackLayout
如果你需要改变方向,并且它可能在运行时改变,那么使用
StackLayout
EG<StackLayout Orientation="{Binding MyStackOrientation}">
由于 Xamarin Forms 只有
StackLayout
,将应用程序移植到 MAUI 相对容易,因为代码不必更改,因此也有助于向后兼容 - 开发人员不必绕过所有 XAML 来更新他们的堆栈布局。