Привязка форм Xamarin - доступ к родительскому свойству - PullRequest
0 голосов
/ 11 июня 2018

Я не могу получить доступ к свойству ViewModel страницы, чтобы связать его со свойством IsVisible.Я могу связать его, только если я не установил BindingContext.Есть ли способ, которым я могу получить доступ к свойству viewmodel / root для страницы, также задав BindingContext?

Страница XAML:

<eventViews:EventInfoWidget BindingContext="{Binding EventViewModel}" IsVisible="{Binding IsEventInfoWidgetEnabled}" />
<eventViews:AvailableShiftInfoWidget BindingContext="{Binding EventViewModel}" IsVisible="{Binding IsAvailableShiftInfoWidgetEnabled}"></eventViews:AvailableShiftInfoWidget>

ViewModel:

public EventViewModel EventViewModel { get; }
public bool IsEventInfoWidgetEnabled => _IsEventInfoWidgetEnabled.Value;
public bool IsAvailableShiftInfoWidgetEnabled => _IsAvailableShiftInfoWidgetEnabled.Value;

IsVisibileСвойство может быть привязано только к свойствам объекта EventViewModel, но я хотел бы привязать его к модели представления страницы

  • IsEventInfoWidgetEnabled
  • IsAvailableShiftInfoWidgetEnabled

1 Ответ

0 голосов
/ 12 июня 2018

Найдя решение, вы должны указать источник, а затем задать путь к свойству.

Сначала задать имя страницы

<pages:AppContentPage 
xmlns="http://xamarin.com/schemas/2014/forms" 
x:Name="ShiftPage">

После этого просто привязать свойство IsVisibleк правому источнику

IsVisible="{Binding Source={x:Reference ShiftPage}, Path=BindingContext.IsEventInfoWidgetEnabled }"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...