MVVM Xamarin Forms - 命令参数绑定视图模型属性



我有下图,其中包含一个从视图模型调用命令的点击手势识别器:

<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);
});

也许你需要刷新图像,我不确定。

最新更新