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

时间:2015-01-21 11:06:26

标签: data-binding xamarin.forms elementname

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:0)

你解决了这个问题吗?

我所做的是添加一个绑定的MyTextBox&lt; - &gt; viewModel喜欢:

MyTextBox.SetBinding(Entry.TextProperty,&#34; PropName&#34;);

btn.SetBinding(Button.CommandProperty,&#34; CommandName&#34;);  btn.SetBinding(Button.CommandParameterProperty,&#34; PropName&#34;);