如何绑定到不是当前绑定上下文的viewmodel上的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何绑定到不是当前绑定上下文的viewmodel上的属性相关的知识,希望对你有一定的参考价值。
我有一个标签:
<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:引用与BModel,但这也不起作用。
有任何想法吗?
答案
所以,显然我是个白痴。看来我毕竟不需要BindingContext。现在Label看起来像这样:
<Label Text="{Binding BModel.BoundDataItem.CurrentValue.Value}"
IsVisible="{Binding IsEditButtonShown}"/>
它似乎像它应该的那样工作。
有趣的是,当你开始向他人解释时,事情会发生在你身上。
以上是关于如何绑定到不是当前绑定上下文的viewmodel上的属性的主要内容,如果未能解决你的问题,请参考以下文章
如何将listview项绑定绑定到页面的Viewmodel?
将 WPF xaml 绑定到 ViewModel 而不构造它
将 IsEnabled 绑定到父 ViewModel 而不是 UserControl ViewModel
Xamarin表单ListView ItemTapped / ItemSelected在XAML上绑定命令