예제 #1
0
        public ScrollingService(IScrolledElement scrolled, ExceedRule mode)
        {
            ScrolledElement = scrolled;
            AppMain.Current.RegisterUpdatable(this);

            _mode = mode;
        }
예제 #2
0
        protected override void OnAdded()
        {
            EnabledGestures = GestureType.Down | GestureType.Move | GestureType.Up;

            _scrollService = Parent as IScrolledElement;

            base.OnAdded();
        }
예제 #3
0
        protected override bool Init(object controller, object binding, DefinitionFile definition)
        {
            if (!base.Init(controller, binding, definition))
            {
                return(false);
            }

            DefinitionFileWithStyle file = new DefinitionFileWithStyle(definition, typeof(UiScrollBar));

            string id = DefinitionResolver.GetString(Controller, Binding, file["Context"]);

            _element       = Controller.Find(id) as IScrolledElement;
            _vertical      = DefinitionResolver.Get <Mode>(Controller, Binding, file["Mode"], Mode.Horizontal) == Mode.Vertical;
            _alwaysVisible = DefinitionResolver.Get <bool>(Controller, Binding, file["AlwaysVisible"], false);

            List <DefinitionFile> drawableFiles = file["ThumbDrawables"] as List <DefinitionFile>;

            if (drawableFiles != null)
            {
                foreach (var def in drawableFiles)
                {
                    ButtonDrawable drawable = def.CreateInstance(Controller, Binding) as ButtonDrawable;

                    if (drawable != null)
                    {
                        _thumbDrawables.Add(drawable);
                    }
                }
            }

            drawableFiles = file["TrackDrawables"] as List <DefinitionFile>;

            if (drawableFiles != null)
            {
                foreach (var def in drawableFiles)
                {
                    ButtonDrawable drawable = def.CreateInstance(Controller, Binding) as ButtonDrawable;

                    if (drawable != null)
                    {
                        _trackDrawables.Add(drawable);
                    }
                }
            }

            return(true);
        }