• 解决Prism中Region的GetView不起作用问题


    通常情况下在Region中添加View时我们需要先判断View是否在Region中已存在,但如果我们在Region.Add的方法调用不当时,我们在GetView中始终返回Null,原因自然是Add时出现了错误

    错误回顾

    view = ServiceLocator.Current.GetInstance(typeof(ApplicationView), "ApplicationView");

    this.RegionManager.Regions[RegionNames.MainContentRegion].Add(view);

    通过这种方式我们 在

    var view=this.RegionManager.Regions[RegionNames.MainContentRegion].GetView("ApplicationView");
    

    返回结果将始终为Null,下面演示正确的调用方法

    var view=this.RegionManager.Regions[RegionNames.MainContentRegion].GetView("ApplicationView");
                if (view == null)
                {
                    view = ServiceLocator.Current.GetInstance(typeof(ApplicationView), "ApplicationView");
                    this.RegionManager.Regions[RegionNames.MainContentRegion].Add(view, "ApplicationView");
                }
                this.RegionManager.Regions[RegionNames.MainContentRegion].Activate(view);
  • 相关阅读:
    java内存回收机制
    scala学习
    [java实现]找一个数组的最大和的连续子数组(时间复杂度 O(n))
    linux 进程的创建
    linux中的进程和线程
    linux 文件系统
    gdb 调试程序
    makefile
    linux下的gcc编译器
    socket 网络编程
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4982942.html
Copyright © 2020-2023  润新知