c# - MVVM Xamarin Forms - 绑定(bind) View 模型属性的命令参数

标签 c# xamarin c#-4.0 mvvm xamarin.forms

我有一个带有从 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/

相关文章:

c# - 如何检查数据行值是否为空

c# - 如何在 Xamarin 的本地通知中显示应用名称?

jquery - 在网格顶部和底部显示滚动条

c# - 等待来自 SendGrid 的 API 返回代码时应用程序卡住

c# - 捕获的变量如何同时暴露给多个执行线程?

c# - Xamarin - 如何使用 xamarin mac 获取屏幕截图并将其保存在磁盘上?

c# - Xamarin - 单击按钮时不断收到 NSInvalidArgumentException

c#-4.0 - ReportViewer页面方向

c# - 为什么我们需要密封类?

c# - 如何返回包含文件的文件夹列表?