在显示包含区域的窗口时出现WPF棱镜错误
本文关键字:WPF 棱镜 错误 窗口 显示 包含 区域 | 更新日期: 2023-09-27 18:02:29
我正在研究我的WPF
Prism
应用程序,并试图在Region
中显示一些我不同的Views
。所以我使用以下代码在我的Shell.xaml
,它工作得很好(它显示了多个视图下的其他)。
<ItemsControl x:Name="MainRegion" prism:RegionManager.RegionName="WorkspaceRegion" Width="400"/>
我有另一个Window
命名为WinExtra.xaml
。当用户单击Shell.xaml
中的Button
时,我的应用程序在Run-Time
创建它的实例。
在WinExtra
里面我有一些TabControl
和主题里面我保留了我的UserControls
。
现在我想把相同的Region
像上面一样放在这些UserControls
中的一个。所以我再写一遍上面的代码,但是这次是在WinExtra.xaml> TabControl1> TabItem1> UserControl1.xaml
:
<ItemsControl x:Name="MainRegion" prism:RegionManager.RegionName="WorkspaceRegion" Width="400"/>
但是在我创建WinExtra
on Showing
它的实例后,我得到这个错误:
类型的未处理异常"Microsoft.Practices.Prism.Regions.Behaviors。 RegionCreationException "发生在Unknown Module.。你可以注册IRegionAdapter通过重写ConfigureRegionAdapterMappings方法来创建此控件附加信息:创建区域时发生异常命名为"工作区"。例外情况是:System.Collections.Generic.KeyNotFoundException:
在Microsoft.Practices.Prism.Regions.RegionAdapterMappings.GetMapping(类型controlType)
在Microsoft.Practices.Prism.Regions.Behaviors.DelayedRegionCreationBehavior.CreateRegion (DependencyObject
注:我在这个项目中使用MahApps.Metro
。所有窗口类型均为controls:MetroWindow
- 上述错误的原因是什么?
- 我该如何解决?
对我来说,问题是我有一个旧Prism的引用。导致冲突的组合包。一个简单的Uninstall-Package Prism.Composition <Project> -Force
修复了这个问题。
我发现了错误原因&解决它。
我正在加载Prism dll程序集期间加载我的模块程序集后显示shell。
现在我阻止这个棱镜dll加载和没有任何RegionCreationException
在我的项目