目前我正在使用带有 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 重叠
我该如何解决?我可以使用相对布局吗?如果是怎么办?