我已实施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
内的区域永远不会被创建。
这里出了什么问题?
答案 0 :(得分:1)
假设您有充分的理由这样做,您可以按照over there所述的代码隐藏设置区域名称和区域管理器...
基本上你将这些行放在ViewA
的构造函数中:
RegionManager.SetRegionName( theNameOfTheContentControlInsideViewA, "viewARegionName" );
RegionManager.SetRegionManager( theNameOfTheContentControlInsideViewA, ServiceLocator.Current.GetInstance<IRegionManager>() );