Xamarin.Forms 不更改 BindingContext 的视图到视图绑定

Xamarin.Forms View-to-View binding without changing BindingContext

我在 XAML 中定义了一个 Button,它包含一个 Command,包括一个 CommandParameterCommand 绑定到当前视图的 ViewModel,而 CommandParameter 绑定到当前视图中的另一个控件。在 WPF 中,这看起来像:

<TextBox x:Name="MyTextBox" />
<Button Command="{Binding ViewmodelCommand}" 
        CommandParameter="{Binding ElementName=MyTextBox, Path=Text}" />

根据 documentation,在 Xamarin.Forms 中,通过使用 x:Reference 标记扩展更改控件的 BindingContext 可以实现视图到视图绑定:

<Button BindingContext="{x:Reference Name=MyTextBox}"
        CommandParameter="{Binding Path=Text}" />

但是,在这种情况下,我无法将 Command 绑定到全局 Viewmodel!这种情况有什么解决办法吗?

你解决了吗?

我所做的是添加绑定 MyTextBox <-> viewModel,例如:

MyTextBox.SetBinding(Entry.TextProperty, "PropName");

btn.SetBinding(Button.CommandProperty, "CommandName"); btn.SetBinding(Button.CommandParameterProperty, "PropName");

试试这个:

<Button Command="{Binding ViewmodelCommand}" 
        CommandParameter="{Binding Source={x:Reference MyTextBox}, Path=Text}" />