xamarin - 在同一 View 下绑定(bind)命令和CommandParameter

标签 xamarin xamarin.forms

我有一个条目和一个按钮。我希望在按下按钮时调用命令“CallWebServiceCommand”。对该命令的调用需要包含 Web 服务的 url 作为 CommandParameter。 BindingContext 设置为页面的 ViewModel。

按钮的 CommandParameter 属性需要引用条目的 Text 属性。在 WPF 中,我可以做这样的事情:

<Button Text="Call web service" Command="{Binding CallWebServiceCommand}" CommandParameter="{Binding ElementName=url, Path=Text}" />

我知道每个 View 不可能有多个绑定(bind)上下文,但是对于这种特殊情况,什么是一个好的解决方法?

最佳答案

这有点像黑客,但它过去对我们有用: 使用 ViewModel 作为 View 的“中继”。为此,请在 ViewModel 上创建一个 String 属性,文本字段将其 Text 属性绑定(bind)到该属性,并将按钮的 CommandParameter 绑定(bind)到该属性。如果为此“参数”属性引发 PropertyChanged 事件,该命令将向指定为该命令的 Action 的方法提供更新的值。这当然不是理想的,但它确实可以作为relativesource绑定(bind)的一个穷人的替代品。

关于xamarin - 在同一 View 下绑定(bind)命令和CommandParameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370988/

相关文章:

Xamarin Scrollview 滚动条不可见

android - 将相机预览旋转到Portrait Android OpenCV Camera和Xamarin

android - 错误的 Xamarin 形成图像维度

c# - Xamarin HttpClient 卡住并且不返回控制权

android - 时间跨度 至 UTC 毫秒

c# - 在 Xamarin 中使用 SkiaSharp 动态绘制线条

xaml - Xamarin forms 选定选项卡的 Shell 自定义图标

c# - 如何 : convert unicode character representation in string to the actual unicode character

c# - 如何从 Xamarin Forms 代码打开或访问 Android 片段中的数据?

Xamarin 使用框架创建圆形图像