C# Xamarin删除表节上边框
是否可以删除xamarins表节的顶部蓝色边框(或至少更改其颜色): 我查看了Xamarin TableView文档,但没有找到任何帮助: 目前我的代码如下所示:C# Xamarin删除表节上边框,c#,xamarin,xamarin.forms,tableview,C#,Xamarin,Xamarin.forms,Tableview,是否可以删除xamarins表节的顶部蓝色边框(或至少更改其颜色): 我查看了Xamarin TableView文档,但没有找到任何帮助: 目前我的代码如下所示: public class UserProfilePushNotification : TableView { public UserProfilePushNotification(string text) : base() { Intent = TableIntent
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"
}
}
};
}
}
我深入研究了这个问题,发现
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;
}
}
}
[程序集:ExportRenderer(typeof(Project.MenuTableView)、typeof(Project.Droid.MenuTableViewRenderer))]
名称空间项目.Droid
{
公共类MenuTableViewRenderer:TableViewRenderer
{
private bool_firstElementAdded=false;
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
碱基。一个元素改变(e);
if(Control==null)
返回;
var listView=控件为Android.Widget.listView;
listView.ChildViewAdded+=(发件人,参数)=>
{
如果(!\u firstelement已添加)
{
args.Child.Visibility=ViewStates.Gone;
_firstElementAdded=true;
}
};
//如果要从表中删除所有分隔符,请取消对此的注释。
//listView.DividerHeight=0;
}
}
}
@jzeferino别担心,我没有忘记你:)我只是没有时间测试它,然后才把它标记为正确答案,或者问它是否起作用。下班后我会测试一下。好的。那就告诉我。好吧,你的主意行得通!但遗憾的是,它删除了上边框,因此留下了一个无上装的表视图。有没有办法让灰色的边界完好无损?或者,我有另一种方法来实现带有swichcell的数据表?它删除了什么上边框?它将删除蓝色条。正确吗?是的,因为第一个元素是表格部分,his有一个蓝色分隔符。我看到的唯一方法就是试着给分隔器上色。但这是另一个骇客