我想创建一个自定义的listview,为我的iOS解决方案提供一定的边距。我需要整个列表视图与设备屏幕边框保持一定距离。这是我尝试过的renderer类,但是DirectionalLayoutMargins
没有给出任何空格。
[assembly: ExportRenderer(typeof(CustomListView), typeof(CustomListViewRenderer))]
public sealed class CustomListViewRenderer : ListViewRenderer
{
private CustomListView listView;
protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
{
base.OnElementChanged(e);
this.Control.DirectionalLayoutMargins = new NSDirectionalEdgeInsets(
new nfloat(200),
new nfloat(200),
new nfloat(200),
new nfloat(200));
}
}
我也尝试过LayoutMargins
和Constraints
,但是没有运气。
出于某些原因,我需要应用iOS特定的渲染器类的边距,而不是XAML或其他任何方法。有人知道如何从自定义列表视图渲染器创建边距吗?
答案 0 :(得分:0)
您可以使用XAML代码中的以下代码来设置特定于平台的属性。
<ListView.Margin>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="0,20,0,0" />
<On Platform="Android" Value="0,0,0,0" />
</OnPlatform>