Как передать объект в библиотеку классов WPF с помощью Prism - PullRequest
0 голосов
/ 25 июля 2011

Я новичок в призме и пытаюсь выяснить, как передать ссылку на объект в библиотеку классов WPF (Prism и MEF) из приложения хоста.

Спасибо!

В моем хост-приложении нажатие кнопки вызывает библиотеку классов WPF:

public override void OnClick()
    {
        //need to pass some object reference into 
        TestButtonBootstrapper bootstrapper = new TestButtonBootstrapper();
        bootstrapper.Run();


    }

Мой загрузчик:

protected override void InitializeShell()
    {
        base.InitializeShell();

        if (System.Windows.Application.Current == null)
        {
            new System.Windows.Application();
        }
        System.Windows.Application.Current.MainWindow = (Shell)this.Shell;
        System.Windows.Application.Current.MainWindow.Show();
        System.Windows.Application.Current.MainWindow.Height = 600;
        System.Windows.Application.Current.MainWindow.Width = 250;

        //Application.Current.MainWindow = (Shell)this.Shell;
        //Application.Current.MainWindow.Show();
    }

1 Ответ

0 голосов
/ 25 июля 2011

В Prism Bootstrapper предназначен для запуска вашего основного исполняемого файла и обеспечения проводной связи между приложением Host и составными модулями.

В файле App.xaml.cs измените код запуска так, чтобы высоздать и запустить загрузчик.

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        new MyBootstrapper().Run();
    }
}

Обязательно удалите StartupUri из App.xaml, чтобы при запуске приложения не было двух основных окон.

...