[Export]
public class MyViewModel : NotificationObject
{
public MyViewModel(Foo foo)
{
DoWorkCommand = new DelegateCommand(DoWork);
MyFoo = foo;
}
[Import]
private IBarService MyBarService { get; set; }
public Foo MyFoo { get; private set; }
public DelegateCommand DoWorkCommand { get; set; }
public void DoWork()
{
MyBarService.DoSomething(MyFoo);
}
}
Как я могу получить экземпляр класса MyViewModel, также имея возможность передавать параметры? Я подумал, что, возможно, ExportFactor<T>
позволит мне передать некоторые параметры, но это не так. Итак, есть ли какая-то модель, которая отвечает за то, чего я надеюсь достичь?
Простое выполнение new () не обрезает его, потому что MyBarService
остается нулевым. Я думал об удалении ExportAttribute
и использовании ComponentInitializer.SatisfyImports(this)
, что позволяет мне использовать new (), но это делает меня таким образом, чтобы я использовал new () все. Я как бы надеялся на лучшее из обоих миров ... имея какой-то способ импортировать что-то с параметрами. Таким образом, я все еще не связан, но могу генерировать экземпляры моей ViewModel с установленными параметрами.