如何使用Prism将对象传递到WPF类库

时间:2011-07-25 14:00:50

标签: prism mef

我是prism的新手,并试图弄清楚如何从主机应用程序将对象引用传递到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 :(得分:0)

在Prism中,Bootstrapper旨在启动主要可执行文件,并提供Host应用程序和组合模块之间的连线。

在App.xaml.cs中,更改启动代码,以便实例化并运行引导程序。

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

请务必从App.xaml中删除StartupUri,以便在应用程序启动时不会出现两个主窗口。