Q: Strange behaviour with Xamarin Forms Entry My adventure with Xamarin never ends.
I have found a problem using Entry controls into ListView. I have a ListView with ViewCells in my ContentPage. Each ViewCell has a CustomEntry (that I have created).
I want control if the user leaves the Entry empty. If he leaves the Entry empty, I would like to leave the last value that Entry has had.
The easiest solution for me is using Focused and Unfocused  events. But the behaviour between events is very strange.
public class CustomEntry : Entry
{
    private string oldValue;

    public CustomEntry()
    {
        this.oldValue = "1";            
        this.Focused += CustomEntry_Focused;
        this.Unfocused += CustomEntry_Unfocused;                        
    }

    private void CustomEntry_Focused(object sender, FocusEventArgs e)
    {
        if (this.Text != null)
        {
            this.oldValue = this.Text;
        }  
    }

    private void CustomEntry_Unfocused(object sender, FocusEventArgs e)
    {
        try
        {
            if (this.Text != null) { 
                //If the user leaves the field empty                
                if (this.Text.Trim().Equals(string.Empty))
                {
                    this.Text = this.oldValue;
                }
            }
        }
        catch (FormatException ex) { }
    }
}

The XAML code of MainPage.xaml:
  <Grid>
  <ListView x:Name="lst" BackgroundColor="Red" >
    <ListView.ItemTemplate>
      <DataTemplate>
        <ViewCell>            
          <StackLayout Orientation="Vertical" BackgroundColor="Yellow" >
            <local:CustomEntry BackgroundColor="Gray" FontSize="30" 
                 Keyboard="Numeric" Text="{Binding NumElements}" />
          </StackLayout>          
        </ViewCell>
      </DataTemplate>
    </ListView.ItemTemplate>
  </ListView>
</Grid>

And finally the MainPage.xaml.cs:
public partial class MainPage : ContentPage
{
    private List<ItemModel> coleccio;

    public MainPage()
    {
        InitializeComponent();
        this.coleccio = new List<ItemModel>();
        this.coleccio.Add(new ItemModel("1")); //"1" value for NumElements property
        this.coleccio.Add(new ItemModel("2")); //"2" value for NumElements property
        this.coleccio.Add(new ItemModel("3")); //"3" value for NumElements property
        this.lst.ItemsSource = this.coleccio;
    }
}

To reproduce the problem:


*

*Tab first CustomEntry

*Tab second CustomEntry

*Press Del key of the keyboard

*You will see that the cursor moves at the beginning of the CustomEntry but it doesn't remove the text.


The debug trace is:


*

*Tap first CustomEntry

*Fires Focused first CustomEntry event

*Fires Unfocused first CustomEntry event

*Tap second CustomEntry

*Press Del key of the keyboard

*Fires Focused second CustomEntry event

*Fires Unfocused second CustomEntry event

*Fires Focused first CustomEntry event

*Fires Unfocused first CustomEntry event

*Fires Focused second CustomEntry event

*The cursor moves at the beginning of the CustomEntry
I'm doing something wrong? Or is a bug about Xamarin Entry control?
I'm using Nexus 5 device with Android 6.0 for debuging.
