gpt4 book ai didi

wpf - prism5 regionManager.RequestNavigate 显示 System.object

转载 作者:行者123 更新时间:2023-12-03 10:19:31 26 4
gpt4 key购买 nike

我将 prism5 与 regionManager 一起使用。以下是我如何注册我的观点以及我如何尝试导航。

_container.RegisterType<IMyView,MyView>("MyView"); 

这就是我的导航方式
_regionManager.RequestNavigate("MyViewRegion", new Uri("MyView", UriKind.Relative);

这个导航到 MyViewRegion 但只显示 System.Object

有人说通过如下注册 View 来解决这个问题
_container.RegisterType<object,MyView>("MyView");

但我仍然想用接口(interface)类型注册我的 View 。那么我该如何使用 RequestNavigate(); 来解决这个问题?

谢谢

最佳答案

我曾经遇到过这个问题,这是在尝试导航到未加载的 View 时引起的。因此,我在调用 .RequestNavigate 方法之前使用了一个简单的函数来检查 View 是否已加载:

    private void LoadViewInRegion<TViewType>(IRegion region, string viewName)
{
object view = region.GetView(viewName);
if (view == null)
{
view = _container.Resolve<TViewType>();

region.Add(view, viewName);
}
}

所以显示 View 的代码类似于:
IRegion region = _regionManager.Regions["MyViewRegion"];

LoadViewInRegion<IMyView>(region, "MyView");

_regionManager.RequestNavigate("MyViewRegion", new Uri("MyView", UriKind.Relative);

关于wpf - prism5 regionManager.RequestNavigate 显示 System.object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26553043/

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