WPF使用Prism新开窗体regionManager处理

如果我们需要使用prism弹出一个新的提示窗体可以这样写

var xxxx = container.Resolve<View>();
xxxx.ShowDialog()

但是这样写新窗体注入的regionManager还是原来父窗体的regionManager对象。利用这个对象进行视图注入也可以操作,但是会导致一些奇怪的问题,比如在regionManager.Regions里找不到新加的Region。
此处新窗体的构造函数需要做如下处理。

public xxxx()
{
    InitializeComponent();
    regionManager = (new RegionManager()).CreateRegionManager();
    RegionManager.SetRegionManager(this,regionManager);       
}

这样就创建了一个新的regionmanager来处理新窗体的绑定了。

你可能感兴趣的:(WPF,c#,wpf,microsoft)