2017-07-10 43 views
0

我正在用Xamarin开发一个跨平台的应用程序。用于MVVM的框架是Prism。 在我的用户界面中有一个图像,我需要它在点击时引发一个动作。 我用TapGestureRecognizer尝试过,但不起作用。错误在哪里?还有另一种方法可以做到这一点?Xamarin.Forms和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>... 

视图模型:

... 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"); 
    } ... 

谢谢!

+0

synthax错误的实例,它是:如果您的绑定被指定为MainPageViewModel的一个实例,Command =“{Binding TapCommand}” – Unlockedluca

回答

2

你已经在你的代码有一个语法错误:

Command="Binding TapCommand" 

应该是:

Command="{Binding TapCommand}" 

如果绑定指定为MainPageViewMode

+0

yes!有用。非常感谢! – TeoVr81