是否可以去除xamarins TableSection的顶部蓝色边框(或至少改变其颜色):
我查看了Xamarin TableView文档,但我发现没有任何帮助: https://developer.xamarin.com/guides/xamarin-forms/user-interface/tableview/
我的代码目前看起来像这样:
public class UserProfilePushNotification : TableView
{
public UserProfilePushNotification(string text) : base()
{
Intent = TableIntent.Data;
Root = new TableRoot
{
new TableSection
{
new SwitchCell
{
Text = text
},
new TextCell()
{
Text = string.Empty
},
new TextCell
{
Text = "Android Version: 1.2.1"
}
}
};
}
}
答案 0 :(得分:1)
我正在深入研究这个问题,我发现TableView
已经实现(在默认渲染器中)为ListView
。
TableSection
只是Listview
中的正常项目,第一项。
如果您不使用Title
中的TableSection
财产(在这种情况下您不使用它),则可以隐藏它。
为此,我为TableView
创建了一个自定义呈现,并隐藏了ListView
的第一个元素:
[assembly:ExportRenderer(typeof(Project.MenuTableView), typeof(Project.Droid.MenuTableViewRenderer))]
namespace Project.Droid
{
public class MenuTableViewRenderer : TableViewRenderer
{
private bool _firstElementAdded = false;
protected override void OnElementChanged (ElementChangedEventArgs<TableView> e)
{
base.OnElementChanged (e);
if (Control == null)
return;
var listView = Control as Android.Widget.ListView;
listView.ChildViewAdded += (sender, args) =>
{
if (!_firstElementAdded)
{
args.Child.Visibility = ViewStates.Gone;
_firstElementAdded = true;
}
};
// Uncomment this if you want to remove all the dividers from the table.
//listView.DividerHeight = 0;
}
}
}