Best way to access the Conductor to activate items from child view models?

Topics: Getting Started, UI Architecture
Feb 15, 2012 at 6:00 PM

I'm just starting with Caliburn.Micro+Ninject and I'm finding it an interesting framework.  I am currently using ShellViewModel with the base Conductor<Screen>.Collection.OneActive.  When I first activate a screen, it works great because I use Parent to get the actual instance.  On other screens, Parent is null, which makes it impossible to access the Conductor.  

I've tried to use MEF:

public IShell Shell { get; set; }

But it is not the actual instance apparently. It shows no ActiveItem and ActivateItem() doesn't seem to have an effect on my UI.  

I've tried using Ninject:

public IShell Shell { get; set; }

  Shell = App.Get<IShell>();

Also provides the wrong instance apparently.  Where have I gone wrong?