Ich bin verloren mit Ninject in WPF.WPF App mit Ninject
Ich initialisiere es in App.xaml, aber die ITest-Eigenschaft in MainWindow.xaml (auch mit dem InjectAttribute) wird nicht aufgelöst und bleibt null.
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
IKernel kernel = new StandardKernel();
kernel.Bind<ITest, Test>();
base.OnStartup(e);
}
}
Ich googelte ein bisschen und fand heraus, dass es so nicht funktioniert. Bei dem Versuch, eine Lösung zu finden, habe ich IMainWindow mit nichts anderem als "void Show()" erstellt. und es zum MainWindow hinzufügen.
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
IKernel kernel = new StandardKernel();
kernel.Bind<ITest, Test>();
kernel.Bind<IMainWindow, MySolution.MainWindow>();
kernel.Get<IMainWindow>().Show();
base.OnStartup(e);
}
}
Dafür bin ich
mit .Get eine Nullreferenceexception auf der Linie bekommenIch habe auch versucht dies:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
IKernel kernel = new StandardKernel();
kernel.Bind<ITest, Test>();
MainWindow = new MySolution.MainWindow(kernel);
//then kernel.Inject(this); in the MainWindow constructor
MainWindow.Show();
base.OnStartup(e);
}
}
Jetzt eine Nullreferenceexception an der Linie Ich bin .Inject bekommen im Hauptfenster.
Ich fand eine andere verschiedene Lösungen, aber sie schienen Schwergewicht und ich gab es auf, alle von ihnen zu testen und zu versuchen, welche funktioniert.
Irgendwelche Hilfe bitte?
Was genau ist Ihr 'NullReferenceException' ist? – AgentFire