我有一个带有从 View 模型调用命令的点击手势识别器的下图:
<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>
单击另一个图像时,我需要更改该命令参数,并且我需要通过 View 模型来完成这一切,你能提供我这样做的方法吗?
最佳答案
最好的方法是绑定(bind)一些具有此信息的值。例如,您可以传递 Image.Source 并在代码中添加正确的行为。例如:
CommandParameter="{Binding Image.Source RelativeSource={RelativeSource AncestorType=Image}}"
有了这个,您可以过滤和检测发送点击命令的图像。
[编辑]
在这里,如何更改
Image.Source
从命令:public ICommand MyCommand => new Command((ImageSource) obj) =>
{
obj = ImageSource.FromFile(filename);
});
也许你需要刷新图像,我不确定。
关于c# - MVVM Xamarin Forms - 绑定(bind) View 模型属性的命令参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54399722/