Xamarin.Forms 3.5.0 目前发布了最新的版本 3.5.0 Pre Release 2(详细版本号为 3.5.0.62956-pre2)。 本次更新主要是针对布局(Layout)功能方面的更新。Xamarin.Forms 框架中有一个名为 Layout 的特殊视图。这个 Layout 类是其他视图的容器,并具有特定的使命:用于对其子视图进行定位和确定尺寸。下图是框架中目前所有可用布局的类图: Layout<T> 类是一个特殊的布局,它公开了一个子视图集合。因此,我们可以添加、删除或替换子视图以满足我们的设计要求: StackLayout stackLayout =…; stackLayout.Children.Add(new Label() { Text = … }); Layout<T> 是大多数常见布局的基类,其中一些布局你可能已经使用过,例如 StackLayout 或 Grid。通过 Layout<T> 我们可以创建自己的布局,以任意方式调整子视图的大小和位置;这完全取决于我们的想象力。有关如何构建自定义布局的优秀文档和示例,请点此查看。 可绑定布局(Bindable Layout) 从 Xamarin.Forms 3.5.0 pre2 开始,我们可以在任意 Layout<T> 视图上使用附加属性的 BindableLayout 集:
如果以前使用过 ListView,你对此应该会比较熟悉。最简单的用法是设置数据项源,这将自动为项目源中的每个数据项创建一个 Label 子视图。当将数据源当作是字符串集合使用时,它是有意义的: XAML: <StackLayout BindableLayout.ItemsSource=”{Binding Sports}” /> C#: IEnumerable sportsSource = …; BindableLayout.SetItemsSource(sportsPanel, sportsSource); 上图是一个在各种场景中使用不同的可绑定布局的应用程序示例截图,可在 GitHub 上查看。 |