Призма-скульптура Silverlight - PullRequest
0 голосов
/ 19 марта 2011

Использование Prism Scultpure Я сталкиваюсь с этой проблемой

Может кто-нибудь помочь мне, что делать. У меня есть регион R1, но он вызывает следующую ошибку

Жирная линия в следующем коде является ошибкой

public virtual void StartAction()
        {
            global::System.ComponentModel.BackgroundWorker backgroundWorker = new global::System.ComponentModel.BackgroundWorker();
            backgroundWorker.WorkerReportsProgress = true;
            backgroundWorker.DoWork += new global::System.ComponentModel.DoWorkEventHandler(this.StartActionWorker);
            backgroundWorker.RunWorkerAsync();
            CandidateView candidateView = null;
            foreach (object view in **this.RegionManager.Regions["R1"].Views**)
            {
                if (true == view is CandidateView)
                {
                    candidateView = view as CandidateView;
                    break;
                }
            }

            if (null == candidateView)
            {
                candidateView = this.Container.GetExportedValue<CandidateView>();
                this.RegionManager.Regions["R1"].Add(candidateView);
            }

            this.RegionManager.Regions["R1"].Activate(candidateView);
        }

Композиция вызвала единственную ошибку композиции. Основная причина приведена ниже. Просмотрите свойство CompositionException.Errors для получения более подробной информации. 1) Региональный менеджер не содержит регион R1. В результате произошла исключительная ситуация при инициализации модуля CandidateMModule. - Сообщение об исключении было следующим: менеджер региона не содержит регион R1. - Сборка, из которой модуль пытался загрузить модуль, была следующей: Candidate, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null. Для получения дополнительной информации проверьте свойство InnerException исключения. Если во время создания объекта в DI-контейнере возникла исключительная ситуация, вы можете включить исключение. GetRootException () поможет найти основную причину проблемы. В результате возникла исключительная ситуация при вызове метода OnImportsSatisfied типа «Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager». В результате: Невозможно активировать часть «Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager». Элемент: Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager -> Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager -> AssemblyCatalog (Assembly = "Microsoft.Practices.Prism.MefExtensions, Version = 4.0.0.0, культура = нейтральный, PublicKeyToken = 31bf3856ad364e35 ") В результате: Невозможно получить экспорт 'Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager (ContractName =" Microsoft.Practices.Prism.Modularity.IModuleManager ")' из части 'Microsoft.Pr. .MefExtensions.Modularity.MefModuleManager. Элемент: Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager (ContractName = "Microsoft.Practices.Prism.Modularity.IModuleManager") -> Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager -> Assembly Microsoft.Practices.Prism.MefExtensions, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 ")

1 Ответ

0 голосов
/ 22 марта 2011

Возможно, вы пытаетесь заполнить регион до его загрузки. Проверьте, зарегистрирован ли регион с RegionManager.Regions.ContainsRegionWithName("R1")

...