【发布时间】:2018-11-20 18:24:33
【问题描述】:
我无法访问页面的 ViewModel 属性以将其绑定到 IsVisible 属性。如果我不设置BindingContext,我只能绑定它。有没有办法在设置 BindingContext 的同时访问页面的 viewmodel/root 属性?
页面 XAML:
<eventViews:EventInfoWidget BindingContext="{Binding EventViewModel}" IsVisible="{Binding IsEventInfoWidgetEnabled}" />
<eventViews:AvailableShiftInfoWidget BindingContext="{Binding EventViewModel}" IsVisible="{Binding IsAvailableShiftInfoWidgetEnabled}"></eventViews:AvailableShiftInfoWidget>
视图模型:
public EventViewModel EventViewModel { get; }
public bool IsEventInfoWidgetEnabled => _IsEventInfoWidgetEnabled.Value;
public bool IsAvailableShiftInfoWidgetEnabled => _IsAvailableShiftInfoWidgetEnabled.Value;
IsVisibile 属性只能绑定到 EventViewModel 对象属性,但我想将它绑定到页面的视图模型
- IsEventInfoWidgetEnabled
- IsAvailableShiftInfoWidgetEnabled
【问题讨论】:
-
请解释您的视图模型。它有3个属性? “EventViewModel”、“_IsEventInfoWidgetEnabled”和“_IsAvailableShiftInfoWidgetEnabled”?尽管如此,您的 INPC 实施在哪里?请阅读 mvvm。
-
不幸的是,我使用的是定制的/非传统的 mvvm 实现(项目要求)。是的,视图模型具有这 3 个属性。
标签: c# xaml xamarin xamarin.forms binding