如何创建和初始化自定义的Xamarin Forms控件

3

我希望在Xamarin Forms中创建一个简单的自定义控件(ContentView),它基本上是一个包含可变数量图像的StackLayout。我的想法是可以在XAML页面中像这样实例化它:

 <views:MyControl Pages="4" CurrentPage="2"/>

在代码中,我可以为每个页面添加一个图像,并根据CurrentPage的值设置Source。但是,我无法弄清楚属性值何时可用以影响布局。在构造函数中,Pages和CurrentPage都为空。

在使用自定义ContentView时,在哪里以及如何考虑属性值?


任何Xaml的属性都应该在页面上调用InitializeComponent()之后设置。因此,不是在构造函数中运行,而是在该行代码运行后,因此所有控件也将初始化。 - Adam
1个回答

0

看起来你可能正在尝试创建类似 CarouselPage 的东西,它允许你左右滑动内容页面,类似于图库。

https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/carousel-page/

好消息是,在Forms 2.2中(目前正在预览阶段,可以通过nuget获取),CarouselPage类将被CarouselView取代,这太棒了,因为现在你可以将它嵌入到页面中,而不仅仅是作为主要页面容器。我建议你去看一下:

https://www.nuget.org/packages/Xamarin.Forms/2.2.0.23-pre4

看看它是否符合您的要求。快速谷歌搜索表明,已经有一些关于在各种博客上制作此布局的教程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接