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

Posted

技术标签:

【中文标题】使用 Xamarin.Forms 和 Prism 的图像点击事件【英文标题】:Image tap event with Xamarin.Forms and Prism 【发布时间】:2017-07-10 14:34:00 【问题描述】:

我正在使用 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");
     ...

谢谢!

【问题讨论】:

语法错误,如果您的 Binding 被指定为 MainPageViewModel 的实例,则为:Command="Binding TapCommand" 【参考方案1】:

您的代码中有语法错误:

Command="Binding TapCommand" 

应该是:

Command="Binding TapCommand"

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

【讨论】:

以上是关于使用 Xamarin.Forms 和 Prism 的图像点击事件的主要内容,如果未能解决你的问题,请参考以下文章

走进 Prism for Xamarin.Forms

Prism Xamarin Forms ToolbarItem 出现两次

Prism for Xamarin Forms - 从标签页导航

为啥在使用 Prism 在 Xamarin.Forms 中导航到 root 时,我的 NavigationPage 顶部会出现默认标题?

使用 Prism 在 Xamarin Forms 的后台服务中实现依赖注入

Xamarin.Forms+Prism—— 简单提示UI的使用