Silverlight 4 - динамическая загрузка XAP с App.xaml, поскольку страница изменяет приложение (App). Текущий .. почему? - PullRequest
1 голос
/ 07 апреля 2011

Я решил не использовать подход MEF / Prism для загрузки файлов XAP в мастер-приложение контейнера Silverlight, которое я создаю.

У меня есть 1 приложение Master Silverlight и 2 приложения, которые будутзагружен. Мой код загрузки работает нормально, единственная проблема заключается в том, что когда я загружаю приложения XAP, я хочу загрузить контекст приложения App.xaml, так как именно здесь я играю созданный мной интерфейс IApplication.

 public partial class AAApp : IApplication
    {

        #region IApplication Members

        private object userContext;
        private List<Silverlight.Common.Classes.ApplicationMenuItem> menuItemsList;
        private Silverlight.Common.Controls.ApplicationMaster applicationMaster;

        public object UserContext
        {
            get
            {
                return userContext;
            }
            set{
                userContext = value;
            }
        }

        public List<Silverlight.Common.Classes.ApplicationMenuItem> MenuItemsList
        {
            get
            {
                return menuItemsList;
            }
            set
            {
                menuItemsList = value;
            }
        }

        public string ApplicationName
        {
            get { return "Application Manager"; }
        }

        public string ApplicationVersion
        {
            get { return "Version 0.1"; }
        }

        public Guid GUID
        {
            get { return new Guid("{ACD4793E-47D8-4DB7-9A32-FDB9DD6CAFD2}"); }
        }

        public bool IsFullScreen
        {
            get { return false; }
        }

        public Silverlight.Common.Controls.ApplicationMaster MasterControl
        {
            get
            {
                return applicationMaster;
            }
            set
            {
                applicationMaster = value;
            }
        }

        public bool IntialiseApp()
        {

            applicationMaster = new Silverlight.Common.Controls.ApplicationMaster();
            applicationMaster.SetApplicationContent(new MainPage());

            return true;

        }

        public bool CloseApp()
        {
            return true;
        }

        #endregion
    }

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class="Test.Application.ApplicationManager.AAApp"
             >
    <Application.Resources>

    </Application.Resources>
</Application>

Проблема, с которой я сталкиваюсь, заключается в том, что я динамически загружаю AAApp в свое главное приложение silverlight, мое приложение (App). Текущий изменяется на XAP, который я загружаю в контексте AAApp.

Кто-нибудь имел эту проблему, и знает об этом.

Я использую (App) Application.Current много для хранения глобальных переменных для моих приложений и т. Д., И с этим изменением он ломает все.

Спасибо

...