Как я могу установить BindingContext для каждого представления в CarouselView? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь разрешить каждому представлению в 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, но, похоже, в этой ситуации это не происходит.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...