Невозможно создать массив представлений XAML с помощью mvvm: ViewModelLocator - PullRequest
0 голосов
/ 09 января 2020

Я хочу сделать представление карусели форм xamarin, содержащее 2 пользовательских представления. У меня есть этот код:

<ContentPage x:Class="MainView" xmlns:mvvm="clr-namespace:Prism.Mvvm;assembly=Prism.Forms" xmlns:views="clr-namespace:Views" x:Name="Main">
<CarouselView>
    <CarouselView.ItemsSource>
        <x:Array Type="{x:Type View}">
            <views:View1  mvvm:ViewModelLocator.AutowirePartialView="{x:Reference Main}" />
            <views:View2 mvvm:ViewModelLocator.AutowirePartialView="{x:Reference Main}" />
        </x:Array>
    </CarouselView.ItemsSource>
    <CarouselView.ItemTemplate>
        <DataTemplate>
            <ContentView Content="{Binding .}" />
        </DataTemplate>
    </CarouselView.ItemTemplate>
</CarouselView>
</ContentPage>

При запуске приложения выдается исключение:

Xamarin.Forms.Xaml.XamlParseException: 'Позиция 80:37. Не удается найти объект, на который ссылается Main '

Если я просто установил оба представления как прямое содержимое главной страницы, он работает нормально. Что я делаю неправильно? Есть ли способ сделать коллекцию представлений через MainViewModel?

...