如何在xamarin表单中隐藏listview中的滚动条

如何在xamarin表单中隐藏listview中的滚动条,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我想在我的xamarin Android和xamarin ios应用程序中隐藏listview滚动条。我搜索了很多帖子,但只有少数帖子有不清楚的帮助。请提出在listview中隐藏滚动条的任何想法。对于此处的解决方案,请查看官方文档 安卓: ListView.VericalScrollbarEnabled = false; iOS: 以下是我所做的: Android自定义渲染器: [assembly: ExportRenderer(typeof(CustomListView),typeof(

我想在我的xamarin Android和xamarin ios应用程序中隐藏listview滚动条。我搜索了很多帖子,但只有少数帖子有不清楚的帮助。请提出在listview中隐藏滚动条的任何想法。

对于此处的解决方案,请查看官方文档

安卓:

ListView.VericalScrollbarEnabled = false;
iOS:

以下是我所做的:

Android自定义渲染器:

[assembly: ExportRenderer(typeof(CustomListView),typeof(CustomListViewRenderer))]
namespace ImageList.Droid
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if(Control != null)
            {
                Control.VerticalScrollBarEnabled = false;
            }
        }
    }
}
[assembly: ExportRenderer(typeof(CustomListView), typeof(CustomListViewRenderer))]
namespace ImageList.iOS
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.ShowsVerticalScrollIndicator = false;
            }
        }
    }
}
[程序集:ExportRenderer(typeof(CustomListView)、typeof(CustomListViewRenderer))]
名称空间ImageList.Droid
{
公共类CustomListViewRenderer:ListViewRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.VerticalScrollBarEnabled=false;
}
}
}
}
iOS自定义渲染器:

[assembly: ExportRenderer(typeof(CustomListView),typeof(CustomListViewRenderer))]
namespace ImageList.Droid
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if(Control != null)
            {
                Control.VerticalScrollBarEnabled = false;
            }
        }
    }
}
[assembly: ExportRenderer(typeof(CustomListView), typeof(CustomListViewRenderer))]
namespace ImageList.iOS
{
    public class CustomListViewRenderer : ListViewRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<ListView> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.ShowsVerticalScrollIndicator = false;
            }
        }
    }
}
[程序集:ExportRenderer(typeof(CustomListView)、typeof(CustomListViewRenderer))]
命名空间ImageList.iOS
{
公共类CustomListViewRenderer:ListViewRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.ShowsVerticalScrollIndicator=false;
}
}
}
}

记住:我们需要在PCL表单中使用自定义ListView而不是本机ListView

更新:现在从Xamarin.Forms 3.5.0版开始,我们可以使用VerticalScrollbar可见性、HorizontalScrollbar可见性属性来处理ListView Scrollbar可见性


您还可以从

中找到完整的源代码和文档这是一个重复的问题:嗨,shiwanka,谢谢您的回答。你能写些什么细节吗。我在onelementchanged重写方法中尝试了上述代码,但运气不好。我们写上面的代码。嗨,deepak,这实际上是自定义渲染,android和ios有不同的行为。。。。为了实现这一点,您必须在ios和android项目级别(而不是pcl)中对自定义渲染进行修改