Ha egy Entry épp focus alatt van, és úgy választunk egy listaelemet a ListView-ből, az Entry Unfocus eventje nem fog triggerelődni. Ez azért van, mert a ListView a Touch eseményt ilyenkor elnyeli. Az én esetemben a megoldás ListView mögött egy háttérszínnel rendelkező grid volt, ami képes touch eventeket elkapni. A ListView InputTransparent tulajdonságának True-ra állításával ez a probléma megoldódott, mert az alatta lévő grid fókuszt kapott, és “mintha kikattintottunk volna” a gridből, az entry focusa megszűnt.
<ListView
x:Name="list"
BackgroundColor="#393939"
ItemTapped="list_ItemTapped"
InputTransparent="True"
ItemsSource="{Binding Path=AutoCompleteItems, Source={x:Reference UserControl}}"
SelectedItem="{Binding Path=SelectedAddress, Source={x:Reference UserControl}}"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<usercontrols:AddressSelectorAutoCompleteItemDataTemplate />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Próbáltam a ListView ItemSelectedjében unfocusolni az Entry Controlokat, azonban ez nem hozott sikert.