如何在ListView XAML中添加多个框架

时间:2018-11-28 17:03:42

标签: xaml listview xamarin xamarin.forms frame

我要添加几帧,如下图所示:

Frame

问题在于它们位于<ListView>内,并且不允许我在<View>标记内添加多个

当我添加第二个时,出现以下错误:

  

“视图”属性设置了多次。

我附上了一个截图,显示了我的LIstView的结构及其更多细节。

  <ListView 
                ItemsSource="{Binding Reportes}"
                SelectionMode="None"
                Margin="0,0,10,0"
                HasUnevenRows="true">
                <ListView.ItemTemplate>
                    <DataTemplate>
                    <ViewCell>  
                        <Frame
                            CornerRadius="15"
                            HasShadow="True"
                            Padding="5"
                            BackgroundColor="{StaticResource das.color.estado_primary}">                     
                            <StackLayout 
                                    Orientation="Horizontal"
                                    BackgroundColor="{StaticResource das.color.estado_primary}">
                                <Image
                                    Source="barrascf"
                                    HeightRequest="80"
                                    WidthRequest="80"
                                    Opacity="1">
                                </Image>
                                <StackLayout
                                    Orientation="Vertical"
                                    HorizontalOptions="EndAndExpand"
                                    BackgroundColor="{StaticResource das.color.estado_primary}">
                                    <Label
                                            Text="{Binding ArticulosTotales}"
                                            TextColor="White">
                                    </Label>
                                    <Label
                                            Text="ARTICULOS TOTALES"
                                            TextColor="White">
                                    </Label>
                                </StackLayout>
                            </StackLayout>                       
                    </Frame>

                            <Frame
                            CornerRadius="15"
                            HasShadow="True"
                            Padding="5"
                            BackgroundColor="{StaticResource das.color.estado_primary}">
                                <StackLayout 
                                    Orientation="Horizontal"
                                    BackgroundColor="{StaticResource das.color.estado_primary}">
                                    <Image
                                    Source="barrascf"
                                    HeightRequest="80"
                                    WidthRequest="80"
                                    Opacity="1">
                                    </Image>
                                    <StackLayout
                                    Orientation="Vertical"
                                    HorizontalOptions="EndAndExpand"
                                    BackgroundColor="{StaticResource das.color.estado_primary}">
                                        <Label
                                            Text="{Binding ArticulosTotales}"
                                            TextColor="White">
                                        </Label>
                                        <Label
                                            Text="ARTICULOS TOTALES"
                                            TextColor="White">
                                        </Label>
                                    </StackLayout>
                                </StackLayout>
                            </Frame>
                        </ViewCell>

                </DataTemplate>
                </ListView.ItemTemplate>                
            </ListView>      

Screenshoot

我在做什么错?我应该如何构造我的XAML代码?对我有帮助吗?

1 个答案:

答案 0 :(得分:1)

任何时候只要您需要向只接受一个孩子的控件中添加多个视图,就可以通过将它们包装在Layout容器(堆栈,网格等)中来实现

<ViewCell>
  <StackLayout>
    <Frame/>
    <Frame/>
    <Frame/>
  </StackLayout>
</ViewCell>