如何在Xamarin中将数据绑定到StackLayout

时间:2019-02-16 14:58:21

标签: c# xaml xamarin

我想创建垂直ScrollView。 像这样: vertical

这是我尝试过的代码:

<ScrollView x:Name="newArrival" Orientation="Horizontal" HorizontalScrollBarVisibility="Always">
    <StackLayout Orientation="Horizontal">
        <Frame BackgroundColor="Black" HeightRequest="100" WidthRequest="100">
            <StackLayout>
                <Image HeightRequest="70"/>
                <Label Text="{Binding Name}" FontSize="15" HorizontalOptions="Center"/>
                <Label Text="{Binding Desc}" FontSize="13" HorizontalOptions="Center"/>
            </StackLayout>
        </Frame>
    </StackLayout>
</ScrollView>

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

根据您的图片,您只想通过ScrollView实现,如果此视图中有很多项目,这是不合理的。我建议您通过以下三种方法来实现。

  1. 旋转的Xamarin表单ListView。
  2. 自定义控件–网格+水平ScrollView
  3. 自定义渲染器– Android.RecyclerView和iOS.UICollectionView(我推荐)

如果您想了解有关三种方法的更多详细信息,可以参考此链接。 https://causerexception.com/2018/02/06/xamarin-forms-ultimate-horizontal-list-guide/

上面有演示代码。

https://github.com/DanielCauser/XamarinHorizontalList

如果对Model-View-ViewModel(MVVM)的数据绑定有疑问,请参阅此链接。 https://blog.xamarin.com/introduction-to-data-binding/

答案 1 :(得分:0)

您可以使用水平的ScrollView并在内部放置Stacklayout,该水平也是水平的。 在后面的代码中,您可以通过创建一个循环来动态创建元素,该循环遍历列表与要绑定的对象。 每当有新对象通过循环时,就会在Stacklayout内部创建一个新元素。