2

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

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

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

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

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

4

2 回答 2

3

尝试这个:

<Button Command="{Binding ViewmodelCommand}" 
        CommandParameter="{Binding Source={x:Reference MyTextBox}, Path=Text}" />
于 2017-02-22T10:36:38.590 回答
0

你解决了吗?

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

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

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

于 2015-03-17T12:38:09.090 回答