gpt4 book ai didi

c# - DataTemplate内部的 Prism 区域

转载 作者:行者123 更新时间:2023-12-03 10:32:41 24 4
gpt4 key购买 nike

我已经实现了WizardControl(由UserControl和关联的ViewModel表示)。该向导应该在没有 Prism 的情况下导航-它具有自己的逻辑。

向导页面已使用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选择。

在特定的向导页面上,我想使用 Prism Region
<ContentControl prism:RegionManager.RegionName="InnerRegion" />

但是当我调用 _regionManager.RequestNavigate(...)时,永远不会创建 RegionManager内部的区域。

这是怎么了?

最佳答案

假设您有充分的理由这样做,则可以按照over there所述从代码后方设置区域名称和区域管理器...

基本上,您将这些行放在ViewA的构造函数中:

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

关于c# - DataTemplate内部的 Prism 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com