如何绑定到不是当前绑定上下文的viewmodel上的属性

时间:2018-08-17 14:58:24

标签: c# forms xamarin binding

我有一个标签:

<Label BindingContext="{Binding BModel}"
       Text="{Binding BoundDataItem.CurrentValue.Value}"
       IsVisible="{Binding IsEditButtonShown}"/>

在没有Binding上下文的情况下,IsVisible属性的工作方式与应有的一样,但是现在我需要具有特定数据的绑定上下文,但是我仍然需要IsVisible属性才能工作。 IsEditButtonShown是我的视图模型上的一个属性。

我尝试过:

IsVisible="{Binding IsEditButtonShown, Source={x:Reference CurrentPagename}}

什么也没做

IsVisible="{Binding IsEditButtonShown, Source={x:Reference CurrentViewModel}}

出现有关无法找到ViewModel的错误(这是在将它添加到具有xmlns:viewmodel =“ clr-namespace ...”的顶部页面之后

我还尝试了另一种方法,即将Source = x:Reference与BModel一起使用,但这也不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以,显然我是个白痴。看来我真的并不需要该项目的BindingContext。现在标签看起来像这样:

<Label Text="{Binding BModel.BoundDataItem.CurrentValue.Value}"
       IsVisible="{Binding IsEditButtonShown}"/>

它看起来像应该的那样工作。

当您开始向其他人解释这些事情时,很有趣。