title: the view is invisible when Drop
body: <p>I Create A Custom View named ScrollView
  The ability of this view is just like its name</p>
  <p>this view of children include only Label,
  And support scroll and click,even drop</p>
  <p>In actual use,scrolling and clicking works well,dropping was too
  but the Label will invisible when drop
  this label still occupy the layout,just invisible</p>
  <p>the drop func will still execute when i drop once again in that invisible label</p>
  <p>I execute apps on Android</p>
  <p>ScrollPicker of XAML:</p>
  <pre><code>&lt;ContentView xmlns=&quot;http://xamarin.com/schemas/2014/forms&quot; 
               xmlns:x=&quot;http://schemas.microsoft.com/winfx/2009/xaml&quot;
               x:Class=&quot;DebugTest.MyView.ApplyView.ScrollPicker&quot;&gt;
    &lt;ContentView.Content&gt;
          &lt;ScrollView x:Name=&quot;ScrollView&quot; x:FieldModifier=&quot;Public&quot;&gt;
              &lt;StackLayout x:Name=&quot;MainView&quot; x:FieldModifier=&quot;Public&quot;&gt;
                  
              &lt;/StackLayout&gt;
          &lt;/ScrollView&gt;
    &lt;/ContentView.Content&gt;
  &lt;/ContentView&gt;
  </code></pre>
  <p>And C# Code</p>
  <pre><code>public partial class ScrollPicker : ContentView
      {
          public static readonly BindableProperty OrientationProperty = BindableProperty.Create(&quot;Orientation&quot;, typeof(StackOrientation), typeof(ScrollPicker), StackOrientation.Vertical, propertyChanged: Orientation_Changed);
          public static readonly BindableProperty ItemSourceProperty = BindableProperty.Create(&quot;ItemSource&quot;, typeof(List&lt;string&gt;), typeof(ScrollPicker), propertyChanged: ItemSource_Changed);
          private static void Orientation_Changed(BindableObject bindable, object oldValue, object newValue)
          {
              if(((StackOrientation)newValue) == StackOrientation.Horizontal)
              {
                  ((ScrollPicker)bindable).ScrollView.Orientation = ScrollOrientation.Horizontal;
                  ((ScrollPicker)bindable).MainView.Orientation = StackOrientation.Horizontal;
              }
              else
              {
                  ((ScrollPicker)bindable).ScrollView.Orientation = ScrollOrientation.Vertical;
                  ((ScrollPicker)bindable).MainView.Orientation = StackOrientation.Vertical;
              }
          }
          private static void ItemSource_Changed(BindableObject bindable, object oldValue, object newValue)
          {
              var view = ((ScrollPicker)bindable);
              view.ItemSourceList = (List&lt;string&gt;)newValue;
              view.ResetLabelList();
          }
          public StackOrientation Orientation
          {
              get { return (StackOrientation)GetValue(ItemSourceProperty); }
              set { SetValue(ItemSourceProperty, value); }
          }
          public List&lt;string&gt; ItemSource
          {
              get { return (List&lt;string&gt;)GetValue(ItemSourceProperty); }
              set { SetValue(ItemSourceProperty, value); }
          }
          public DropGestureRecognizer DropGR;
          public event EventHandler&lt;IndexArgs&gt; ItemClickEvent;
          public event EventHandler&lt;IndexArgs&gt; DropEvent;
          public List&lt;string&gt; ItemSourceList;
          public List&lt;Label&gt; LabelList = new List&lt;Label&gt;();
          public ScrollPicker()
          {
              InitializeComponent();
              ItemClickEvent += ScrollPicker_ItemClickEvent;
              DropEvent += ScrollPicker_DropEvent;
          }
  
          private void ScrollPicker_DropEvent(object sender, EventArgs e)
          {
              
          }
  
          private void CE_Click(Element obj)
          {
              if(LabelList != null &amp;&amp; LabelList.Count != 0)
              {
                  if(LabelList.Exists(label =&gt; label == obj))
                  {
                      int index = LabelList.IndexOf((Label)obj);
                      ItemClickEvent.Invoke(obj, new IndexArgs(index));
                  }
              }
          }
          private void ScrollPicker_ItemClickEvent(object sender, EventArgs e)
          {
              
          }
          private void ResetLabelList()
          {
              MainView.Children.Clear();
              LabelList.Clear();
              if (ItemSourceList != null &amp;&amp; ItemSourceList.Count != 0)
              {
                  for(int i=0;i&lt; ItemSourceList.Count;i++)
                  {
                      //创建Label
                      Label temp = CreateSubView(ItemSourceList[i]);
                      //绑定CE
                      ClickEffect CE = new ClickEffect();
                      CE.Click += CE_Click;
                      Global.ClickEffect_BindClickEffect(temp, CE);
                      //添加Drop
                      DropGR = new DropGestureRecognizer();
                      DropGR.DragOver += DropGR_DragOver;
                      DropGR.DragLeave += DropGR_DragLeave;
                      DropGR.Drop += DropGR_Drop;
                      temp.GestureRecognizers.Add(DropGR);
                      //添加视图
                      LabelList.Add(temp);
                      MainView.Children.Add(temp);
  
                      if (i == 0) temp.Opacity = 0.1;
                  }
              }
          }
          private void DropGR_DragOver(object sender, DragEventArgs e)
          {
  
          }
          private void DropGR_DragLeave(object sender, DragEventArgs e)
          {
              
          }
          private void DropGR_Drop(object sender, DropEventArgs e)
          {
              var view = (sender as GestureRecognizer).Parent as View;
              int index = MainView.Children.IndexOf(view);
              DropEvent.Invoke(view, new IndexArgs(index));
          }
  
          private Label CreateSubView(string text)
          {
              Label label = new Label()
              {
                  Text = text,
                  FontSize = 20,
                  WidthRequest = 75,
                  VerticalTextAlignment = TextAlignment.Start,
                  HorizontalTextAlignment = TextAlignment.Start,
              };
              return label;
          }
      }
      public abstract partial class ScrollPickerItemView : ContentView
      {
  
      }
      public class IndexArgs: EventArgs
      {
          public int Index;
          public IndexArgs(int index =0)
          {
              Index = index;
          }
      }
      public enum ScrollPickerOrientation
      {
          Vertical,
          Horizontal
      }
  </code></pre>
  <p>How Use In Page:</p>
  <pre><code>......
  &lt;AbsoluteLayout AbsoluteLayout.LayoutFlags=&quot;All&quot; AbsoluteLayout.LayoutBounds=&quot;0,0,1,0.1&quot; BackgroundColor=&quot;#66CCFF&quot;&gt;
                  &lt;Label AbsoluteLayout.LayoutFlags=&quot;All&quot; AbsoluteLayout.LayoutBounds=&quot;0,0,0.2,1&quot; 
                         Text=&quot;Project:&quot; FontSize=&quot;Large&quot; VerticalTextAlignment=&quot;Center&quot; HorizontalTextAlignment=&quot;Center&quot;/&gt;
                  &lt;applyview:ScrollPicker x:Name=&quot;ProjectPicker&quot; AbsoluteLayout.LayoutFlags=&quot;All&quot; AbsoluteLayout.LayoutBounds=&quot;1,0,0.8,1&quot; Orientation=&quot;Horizontal&quot; 
                                          ItemClickEvent=&quot;ProjectPicker_ItemClickEvent&quot; DropEvent=&quot;ProjectPicker_DropEvent&quot;/&gt;
              &lt;/AbsoluteLayout&gt;
  </code></pre>
  <p>I don't know how to solve this problem. Can someone help me?</p>