[英]Xamarin Forms Binding - access parent property
我無法訪問Page的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對象屬性,但我想將它綁定到頁面的viewmodel
找到解決方案,您必須指定源,然后設置屬性的路徑。
首先設置頁面的名稱
<pages:AppContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
x:Name="ShiftPage">
之后,只需將IsVisible屬性綁定到正確的源
IsVisible="{Binding Source={x:Reference ShiftPage}, Path=BindingContext.IsEventInfoWidgetEnabled }"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.