使用Xamarin.Forms和Prism的图像点击事件

时间:2017-07-10 14:34:01

标签: xamarin.forms prism

我正在使用Xamarin开发跨平台应用程序。用于MVVM的框架是Prism。 在我的用户界面中有一个图像,我需要它在点击时引发一个动作。 我尝试使用TapGestureRecognizer,但它不起作用。错误在哪里?还有另一种方法吗?

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

谢谢!

1 个答案:

答案 0 :(得分:4)

您的代码中出现语法错误:

Command="Binding TapCommand" 

应该是:

Command="{Binding TapCommand}"

如果您的Binding被指定为MainPageViewMode的实例