Я пытаюсь разрешить каждому представлению в CarouselView иметь тот же объект BindingContext, что и родительский ContentPage. Я пробовал следующее, которое, кажется, не работает. MainPage.xaml - это страница, которая инициализируется во время выполнения. Он содержит CarouselView с четырьмя ContentViews, содержащими «страницы» функциональности, которые я могу перемещать назад и вперед между MainPage.
MainPage.xaml:
...
<CarouselView Grid.Row="1" Grid.ColumnSpan="4"
Position="{Binding CarouselPosition}"
HorizontalScrollBarVisibility="Never">
<CarouselView.ItemsSource>
<x:Array Type="{x:Type ContentView}">
<local:HomeView></local:HomeView>
<local:NewsView></local:NewsView>
<local:ChartsView></local:ChartsView>
<local:SettingsView></local:SettingsView>
</x:Array>
</CarouselView.ItemsSource>
<CarouselView.ItemTemplate>
<DataTemplate>
<ContentView Content="{Binding .}" BindingContext="{Binding BindingContext, Source={x:Reference mainPage}}"/>
</DataTemplate>
</CarouselView.ItemTemplate>
</CarouselView>
...
По сути, я хочу иметь возможность установить BindingContext для каждого из этих ContentViews таким же, как родительский. Я также читал, что ContentViews должны иногда иметь возможность наследовать BindingContext, но, похоже, в этой ситуации это не происходит.
Спасибо.