我在XAML中定义了Button
,其中包含Command
,其中包含CommandParameter
。 Command
绑定到当前视图的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!这个场景有什么解决方案吗?
答案 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;);