如何在Prism中使用局部视图?

时间:2019-02-19 22:16:10

标签: xamarin.forms prism

我有Xamarin Forms 3.5的Prism 7.1。我无法局部视图正常工作。

消费视图位于顶部

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             prism:ViewModelLocator.AutowireViewModel="True"
              xmlns:converters="clr-namespace:MapManPrism.Converters"
             x:Class="MapManPrism.Views.WelcomeWizardPage" 
             xmlns:mvvm="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             x:Name="wizard"
             Title="Welcome" xmlns:cv="clr-namespace:PanCardView;assembly=PanCardView"
             xmlns:cvi="clr-namespace:PanCardView.Controls;assembly=PanCardView" xmlns:views="clr-namespace:MapManPrism.Views">

如您所见,我给消费页面起了个名字(向导)。

然后我有一个旋转木马视图,其中有多个视图

  <cv:CarouselView SelectedIndex="{Binding CurrentPage}" IsPanSwipeEnabled="false" IsUserInteractionEnabled="false">
            <cv:CarouselView.ItemsSource>
                <x:Array Type="{x:Type View}">
 <ContentView Padding="10" Margin="10">
...
 </ContentView>
     <ContentView>
                        <Frame>
                              <views:PublisherDetails mvvm:ViewModelLocator.AutowirePartialView="{x:Reference wizard}"></views:PublisherDetails>
                        </Frame>
                    </ContentView>

在我的app.xaml.cs中,我有这行

 ViewModelLocationProvider.Register<PublisherDetails, PublisherDetailsViewModel>();

但是当这样设置消费页面时,我无法导航到该页面。删除“ mvvm:ViewModelLocator.AutowirePartialView =“ {x:参考向导}””即可,但是很明显,部分视图的视图模型无法连接。

我该如何解决?或者,是否有一种方法可以手动连接部分视图的视图模型以查看是否可以解决问题?

0 个答案:

没有答案