码迷,mamicode.com
首页 > 其他好文 > 详细

xamarin.form scrollView

时间:2018-11-29 11:13:24      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:hang   位置   view   erer   tor   cal   and   visual   llb   

<ContentPage.Content>
        <ScrollView Orientation="Horizontal">
            <StackLayout Orientation="Horizontal">
                <Label Text="123123123"></Label>
            </StackLayout>
        </ScrollView>
    </ContentPage.Content>

  其中有1个比较重要的属性Orientation可以改变滚动方向,如果你想通过代码修改当前滚动条的位置,可以使用scroll.ScrollToAsync方法来实现

如果你不想显示滚动条,那么只能在各自的Android和IOS平台实现

Android平台

[assembly:ExportRenderer(typeof(Xamarin.Forms.ScrollView),typeof(ScrollViewNoRender))]
namespace App1.Droid.Render
{
    public class ScrollViewNoRender : ScrollViewRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            if (e.OldElement != null)
            {
                e.NewElement.PropertyChanged -= NewElement_PropertyChanged;
            }
            if (e.NewElement != null)
            {
                e.NewElement.PropertyChanged += NewElement_PropertyChanged;
            }
        }

        private void NewElement_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (ChildCount > 0)
            {
                GetChildAt(0).HorizontalScrollBarEnabled = false;
                GetChildAt(0).VerticalScrollBarEnabled = false;
            }
        }
    }
}

  IOS平台

[assembly:ExportRenderer(typeof(ScrollView),typeof(ScrollViewNoRender))]
namespace App1.iOS.Render
{
    public class ScrollViewNoRender : ScrollViewRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                e.NewElement.PropertyChanged -= NewElement_PropertyChanged;
            }
            if (e.NewElement != null)
            {
                e.NewElement.PropertyChanged += NewElement_PropertyChanged;
            }
        }

        private void NewElement_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            this.ShowsHorizontalScrollIndicator = false;
            this.ShowsVerticalScrollIndicator = false;
        }
    }
}

  

xamarin.form scrollView

标签:hang   位置   view   erer   tor   cal   and   visual   llb   

原文地址:https://www.cnblogs.com/jiecaoge/p/10036113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!