我有下图,其中包含一个从视图模型调用命令的点击手势识别器:
<Image IsVisible="False" Aspect="Fill" Grid.Column="1" HorizontalOptions="Start" VerticalOptions="Center" Source="po.png" x:Name="img2">
<Image.GestureRecognizers>
<TapGestureRecognizer x:Name="gRcgImg2" Command="{Binding FalaCommand}" CommandParameter="po" />
</Image.GestureRecognizers>
</Image>
当单击另一个图像时,我需要更改该命令参数,并且我需要通过视图模型完成所有操作,您能提供我执行此操作的方法吗?
最好的方法是绑定一些包含此信息的值。例如,您可以传递 Image.Source 并在代码中添加正确的行为。例如:
CommandParameter="{Binding Image.Source RelativeSource={RelativeSource AncestorType=Image}}"
有了这个,您可以过滤和检测正在发送 tap 命令的图像。
[已编辑]在这里,如何从命令更改Image.Source
:
public ICommand MyCommand => new Command((ImageSource) obj) =>
{
obj = ImageSource.FromFile(filename);
});
也许你需要刷新图像,我不确定。