我将尝试将我的ListView项目绑定到父ViewModel中的命令。问题是我想添加当前项目的CommandParameter。
基本上,在WPF中,我会这样做:
在Xamarin Forms中,ElementName不起作用,所以使用BindingContext的方式,但是如果我的一个绑定指向父级,另一个绑定指向自身,我该如何使用它?
我已经尝试过:
基本上,在WPF中,我会这样做:
<MyItem Command="{Binding ElementName=parent", Path=DataContext.MyCommand}" CommandParameter="{Binding}"/>
在Xamarin Forms中,ElementName不起作用,所以使用BindingContext的方式,但是如果我的一个绑定指向父级,另一个绑定指向自身,我该如何使用它?
我已经尝试过:
<MyItem Command="{Binding BindingContext.RemoveCommand, Source={x:Reference parent}}" CommandParameter="{Binding }" />
但是它不起作用(似乎没有改变源)。
我知道,使用普通绑定的方法是使用 BindingContext="{x:Reference parent}"
,但在这个例子中它不起作用,因为我需要使用Self
绑定来作为 CommandParameter。
我该怎么做?
Parent
属性,并在其中调用RemoveCommand
呢?像这样:Command="{Binding Parent.RemoveCommand}"
?您不想在UI元素上调用命令(这就是x:Reference
的作用)。 命令的发送者将是当前元素,因此此处无需使用参数。 - Krumelur