【问题标题】:TableView no Separator line xamarin formsTableView 没有分隔线 xamarin 表单
【发布时间】:2019-07-23 15:27:04
【问题描述】:
【问题讨论】:
标签:
xamarin
xamarin.forms
【解决方案1】:
你可以试试下面的代码:
MyTableView.cs
public class MyTableView: TableView
{
public static readonly BindableProperty SeperatorVisibleProperty =
BindableProperty.Create("SeperatorVisible", typeof(SeparatorVisibility),
typeof(MyTableView), SeparatorVisibility.Default);
public SeparatorVisibility SeperatorVisible
{
get { return (SeparatorVisibility)GetValue(SeperatorVisibleProperty); }
set { SetValue(SeperatorVisibleProperty, value); }
}
}
Android 中的 MyTableViewRenderer.cs
[assembly: ExportRenderer(typeof(MyTableView), typeof(MyTableViewRenderer))]
namespace MyTableViewApp.Droid
{
public class MyTableViewRenderer: TableViewRenderer
{
public MyTableViewRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<TableView> e)
{
base.OnElementChanged(e);
if (Control == null)
return;
//var listView = Control as global::Android.Widget.ListView;
//listView.Divider = new ColorDrawable(Android.Graphics.Color.Transparent);
//listView.DividerHeight = 0;
var listView = Control as global::Android.Widget.ListView;
listView.Divider.SetTint(Color.Transparent.GetHashCode());
listView.SetHeaderDividersEnabled(false);
listView.Divider = null;
listView.DividerHeight = 0;
}
}
}
示例效果: