Призма область внутри DataTemplate - PullRequest
0 голосов
/ 08 мая 2018

Я реализовал WizardControl (который представлен UserControl и связанным ViewModel). Этот мастер должен ориентироваться без призмы - у него своя логика.

Страницы мастера зарегистрированы с DataTemplates:

<UserControl.Resources>
    <DataTemplate DataType="{x:Type vm:ViewAViewModel}">
        <view:ViewAView />
    </DataTemplate>

    <DataTemplate DataType="{x:Type vm:ViewBViewModel}">
        <view:ViewBView />
    </DataTemplate>
</UserControl.Resources>
<Grid>
...

    <ScrollViewer>
        <ContentControl Content="{Binding CurrentPage}" />
    </ScrollViewer>

    <Button Content="Prev" Command="{Binding PrevCommand}" />
    <Button Content="Next" Command="{Binding NextCommand}" />
</Grid>

Волшебники выбирают CurrentPage ViewModel.

На определенной странице мастера я хочу использовать призму Region

<ContentControl prism:RegionManager.RegionName="InnerRegion" />

Но когда я звоню _regionManager.RequestNavigate(...), область внутри RegionManager никогда не создается.

Что здесь не так?

1 Ответ

0 голосов
/ 08 мая 2018

Предположим, у вас есть веская причина для этого, вы можете установить имя региона и менеджера региона из кода, как описано здесь ...

Обычно вы помещаете эти строки в конструктор ViewA:

RegionManager.SetRegionName( theNameOfTheContentControlInsideViewA, "viewARegionName" );
RegionManager.SetRegionManager( theNameOfTheContentControlInsideViewA, ServiceLocator.Current.GetInstance<IRegionManager>() );
...