将 Tapped Command 事件添加到 gridview 中的图像

Add Tapped Command event to a image in a gridview

我尝试了所有方法,但无法在 gridview 中对我的图像执行命令。我是不是忘记了什么?

如您所见,它是一个水平显示几张图片的网格视图,但我想如果您点击一张图片,您会转到可以缩放图片的详细信息屏幕..

XAML代码:

 <GridView ItemsSource="{Binding SelectedActivity.ObjectAttachments}"
                              Margin="10,0,0,0"
                              IsHitTestVisible="False"
                              Grid.Row="1"
                              Height="200">
                        <GridView.ItemsPanel>
                            <ItemsPanelTemplate>
                                <VirtualizingStackPanel Orientation="Horizontal" />
                            </ItemsPanelTemplate>
                        </GridView.ItemsPanel>
                        <GridView.ItemTemplate>
                            <DataTemplate>
                                <Image Source="{Binding AttachmentImageSource}"
                                       Width="150"
                                       Height="150"
                                       Stretch="UniformToFill"
                                       Margin="0,10,10,0">
                                </Image>
                            </DataTemplate>
                        </GridView.ItemTemplate>
                        <i:Interaction.Behaviors>
                            <core:EventTriggerBehavior EventName="Tapped">
                                <core:InvokeCommandAction Command="{Binding TappedCommand}" />
                            </core:EventTriggerBehavior>
                        </i:Interaction.Behaviors>
                    </GridView>

后面的 C# 代码:

 public RelayCommand TappedCommand
    {
        get
        {
            return new RelayCommand( () =>
           {
               MessageDialog msgbox = new MessageDialog("Message Box is displayed");

                msgbox.ShowAsync();
                //do stuff when it works
           });
        }
    }

设置 IsHitTestVisible="True"。 False 禁用该控件上的用户交互。