2017-07-10 1 views
0

Je développe une application multiplateforme avec Xamarin. Le framework utilisé pour MVVM est Prism. Dans mon interface utilisateur il y a une image, j'ai besoin qu'elle déclenche une action quand elle est tapée. J'ai essayé avec TapGestureRecognizer mais cela ne fonctionne pas. Où est l'erreur? Il y a une autre façon de faire cela?Événement tap tap avec Xamarin.Forms et Prism

XAML:

  ...<Frame Grid.Row="0" Grid.Column="0" OutlineColor="Black" Padding="5"> 
      <Image x:Name="imgSynch" Source="synch.png" >      
       <Image.GestureRecognizers> 
        <TapGestureRecognizer Command="Binding TapCommand" /> 
       </Image.GestureRecognizers> 
      </Image> 
     </Frame>... 

ViewModel:

... ICommand tapCommand; 

    public ICommand TapCommand 
    { 
     get { return tapCommand; } 
    } 
    public MainPageViewModel() 
    {        
     var tapImageSynch = new TapGestureRecognizer(); 
     tapCommand = new Command(Synch); 
    void Synch() 
    { 
     _pageDialogService.DisplayAlertAsync("Title", "It works!", "OK"); 
    } ... 

Merci!

+0

erreur de synthaxe, il est: Command = "{Binding TapCommand}" si votre liaison est spécifiée en tant qu'instance de MainPageViewModel – Unlockedluca

Répondre

2

Vous avez une erreur de syntaxe dans votre code:

Command="Binding TapCommand" 

devrait être:

Command="{Binding TapCommand}" 

si votre liaison est spécifiée comme une instance de MainPageViewMode

+0

yes! Ça marche. Merci beaucoup! – TeoVr81