将 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 禁用该控件上的用户交互。
我尝试了所有方法,但无法在 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 禁用该控件上的用户交互。