我试图围绕堆栈布局的角落,它适用于Android,但在iOS上,它们仍然显示为方形,但它确实显示了帧阴影
我的XAML
<ContentPage.Content>
<StackLayout BackgroundColor="WHITE">
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Frame CornerRadius="10" Padding="0" Margin="10, 10, 10, 10">
<StackLayout>
. . .
</StackLayout>
</Frame>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
答案 0 :(得分:4)
它们仍然显得正方形
实际上,Frame
是圆形的而不是StackLayout
,我们只是使用Frame wrap it,所以看起来StackLayout有圆角。
<Frame CornerRadius="10" Padding="0" Margin="10, 10, 10, 10" HasShadow="False" BackgroundColor="Red">
<StackLayout >
<Label Text="{Binding}"/>
</StackLayout>
</Frame>
<Frame CornerRadius="10" Padding="0" Margin="10, 10, 10, 10" HasShadow="False" >
<StackLayout BackgroundColor="Red">
<Label Text="{Binding}"/>
</StackLayout>
</Frame>
它确实显示了帧阴影
您可以HasShadow="False"
禁用它。
答案 1 :(得分:2)
将IsClippedToBounds
属性设置为Frame控件:
<Frame IsClippedToBounds="True" CornerRadius="10" Padding="0" Margin="10, 10, 10, 10">
<StackLayout>
</StackLayout>
</Frame>
答案 2 :(得分:1)
实际上,我相信这是Xamarin.Forms的错误。 UWP,Android和iOS的行为应相同,但事实并非如此。因此,要实现相同的行为,开发人员需要使用OnPlatform功能。
此处描述并讨论了该错误,该错误仍处于打开状态:https://github.com/xamarin/Xamarin.Forms/issues/2405