private void CollectionView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //EDIT ICON and MODe multiple
            if (this.collectionView.SelectionMode == SelectionMode.Multiple)
            {
                if (e.CurrentSelection.ToList().Count > 0)
                {
                    Debug.WriteLine((this.collectionView.SelectedItem as Route).StartDestination);
                    // Debug.WriteLine(ExtendedCollectionView.ExtendedFrameList
                    //.Where(x => x.CurrentRoute.ID == (e.CurrentSelection.Last() as Route).ID).First().CurrentRoute.StartDestination);

                    ExtendedFrame extendedFrame = ExtendedCollectionView.ExtendedFrameList
                                                  .Where(x => x.CurrentRoute.ID == (e.CurrentSelection.Last() as Route).ID).First();

                    if (extendedFrame.BackgroundColor == Color.Red)
                    {
                        extendedFrame.BackgroundColor = Color.Yellow;
                    }
                    else
                    {
                        extendedFrame.BackgroundColor = Color.Red;
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        private async void ExtendedFrame_NormalPressed(object sender)
        {
            ExtendedFrame extendedFrame = sender as ExtendedFrame;

            if (extendedFrame.CurrentRoute != null)
            {
                await Navigation.PushAsync(new RouteDetailPage((sender as ExtendedFrame).CurrentRoute));
            }
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Frame> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                customFrame = e.NewElement as ExtendedFrame;
                SetupLayer();
            }
        }
示例#4
0
        private void CreateListTextbox(int count)
        {
            _labels = new List <Label>();
            _frames = new List <ExtendedFrame>();

            for (int i = 0; i < count; i++)
            {
                ExtendedFrame frame = new ExtendedFrame()
                {
                    BorderThickness = 1,
                    CornerRadius    = 15,
                    BorderColor     = BorderItemColor,
                    HeightRequest   = 50,
                    WidthRequest    = 50,
                    HasShadow       = false
                };

                Label label = new Label()
                {
                    TextColor               = Color.Accent,
                    VerticalOptions         = LayoutOptions.FillAndExpand,
                    HorizontalOptions       = LayoutOptions.FillAndExpand,
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                label.GestureRecognizers.Add(new TapGestureRecognizer()
                {
                    Command          = new Command(HandleAction),
                    CommandParameter = label
                });
                frame.Content = label;

                _labels.Add(label);
                _frames.Add(frame);

                flexLayout.Children.Add(frame);
            }
        }
        private async void TapGestureRecognizer_Tapped_3(object sender, EventArgs e)
        {
            //Debug.WriteLine((sender as ExtendedFrame).CurrentRoute.StartDestination);
            if (this.collectionView.SelectionMode == SelectionMode.Multiple)
            {
                ExtendedFrame extendedFrame = ExtendedCollectionView.ExtendedFrameList
                                              .Where(x => x.CurrentRoute.ID == (sender as ExtendedFrame).CurrentRoute.ID).First();

                if (extendedFrame.BackgroundColor == Color.FromHex("#808080"))
                {
                    extendedFrame.BackgroundColor = Color.FromHex("#52597F");
                    TappedRoutes.Remove(extendedFrame.CurrentRoute);
                }
                else
                {
                    extendedFrame.BackgroundColor = Color.FromHex("#808080");
                    TappedRoutes.Add(extendedFrame.CurrentRoute);
                }
                int countSelected = ExtendedCollectionView.ExtendedFrameList
                                    .Where(x => x.BackgroundColor == Color.FromHex("#808080"))
                                    .ToList()
                                    .Count;
                if (countSelected != 0)
                {
                    this.title.Text = countSelected.ToString();
                }
                else
                {
                    this.title.Text = "Rotalar";
                }
            }
            else
            {
                await Application.Current.MainPage.Navigation.PushAsync(new RouteDetailPage((sender as ExtendedFrame).CurrentRoute));
            }
        }
示例#6
0
 public FrameDrawable(ExtendedFrame frame)
 {
     _frame = frame;
     frame.PropertyChanged += FrameOnPropertyChanged;
 }
        void HandleLongClick(object sender, LongClickEventArgs e)
        {
            ExtendedFrame extendedFrame = ((ExtendedFrame)Element);

            extendedFrame.InvokeLongPressedEvent(extendedFrame);
        }
        private void CustomFrameRenderer_Click(object sender, EventArgs e)
        {
            ExtendedFrame extendedFrame = ((ExtendedFrame)Element);

            extendedFrame.InvokeNormalPressedEvent(extendedFrame);
        }
示例#9
0
 public FrameDrawable(ExtendedFrame frame, Func <double, float> convertToPixels)
 {
     _frame                 = frame;
     _convertToPixels       = convertToPixels;
     frame.PropertyChanged += FrameOnPropertyChanged;
 }