0

目前我正在使用带有 BindingLayout 的 Stacklayout,如下所示:

<StackLayout BindableLayout.ItemsSource="{Binding MessstelleGeraete}" >
    <BindableLayout.ItemTemplate>
        <DataTemplate>
            <StackLayout>
            <Grid RowSpacing="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="auto"/>
                </Grid.RowDefinitions>
                <StackLayout Grid.Row="0">
                <---- some more stuff in here ---->
                </StackLayout>
                <StackLayout Grid.Row="0" Margin="-8,20,0,-20">
                    <BoxView Color="#0056AD" HeightRequest="2" WidthRequest="8" />
                    <BoxView Color="#0056AD" WidthRequest="2" HorizontalOptions="Start" VerticalOptions="FillAndExpand"/>
                    <BoxView Color="#0056AD" HeightRequest="2" WidthRequest="8" />
                </StackLayout>
            </Grid                      
            </StackLayout>
        </DataTemplate>
    </BindableLayout.ItemTemplate>
</StackLayout

例如,如果我们在“MessstelleGeraete”中有 5 个项目,那么其中有一个包含 5 个 Stacklayout 的 Stacklayout。在 5 个 Stacklayouts 中还有 2 个 Stacklayouts。第一个包含一些laybels和条目,第二个包含3个看起来像“[”的boxview。“[”与整个 Grid 一样长。当我将它向下移动时,它应该与下一个(我们的 5 个)堆栈布局重叠。这里的问题是 stacklayout 中的 z-index 是由子元素的顺序决定的。这意味着元素 2 将与元素 1 重叠,但我需要它相反。

在此处输入图像描述 左:“[”被切断,因为 Stacklayout 2/5 与 Stacklayout 1/5 重叠

我该如何解决?我可以使用相对布局吗?如果是怎么办?

4

0 回答 0