Мне нужно создать вложенное свойство, которое взаимодействует с каким-либо сервисом внутри его PropertyChanged обработчика событий. Например,
private static void IsRegisteredPropertyChanged(DependencyObject target,
DependencyPropertyChangedEventArgs e)
{
//how to resolve this without service locator?
IService someService = ServiceLocator.Resolve<IService>();
if ((bool)e.NewValue)
{
someService.Register(target);
}
else
{
someService.Unregister(target);
}
}
Как я понимаю, обработчик событий всегда будет статическим. Есть ли способ внедрить зависимость для этого обработчика событий, используя Unity, кроме как с помощью шаблона Service Locator? Если нет, то, может быть, есть какие-то альтернативы, которые позволяют декларативно регистрировать элементы представления для этого сервиса?