簡體   English   中英

Xamarin Forms Binding - 訪問父屬性

[英]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

  • IsEventInfoWidgetEnabled
  • IsAvailableShiftInfoWidgetEnabled

找到解決方案,您必須指定源,然后設置屬性的路徑。

首先設置頁面的名稱

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM