SI предполагает, что MainViewModel имеет ссылку на PictoPanelViewModel, по крайней мере, на мгновение, и, в худшем случае, кнопки еще не были созданы в то время.В этом случае я бы:
- Добавьте событие myButtonClickedEvn в PictoPanelViewModel
- Создайте метод TriggerMyButtonClickedEvn, который просто вызывает событие в PictoPanelViewModel
- В MainViewModel, когда ваш класс видит PictoPanelViewModel, свяжите ваш метод с вновь созданным событием.
Все это преобразуется в код, подобный этому.
В PictoPanelViewModel:
this.myButton.Click += new System.EventHandler(this.TriggerMyButtonClickedEvn);
public event EventHandler myButtonClickedEvn;
private void TriggerMyButtonClickedEvn(object sender, EventArgs e)
{
if (myButtonClickedEvn != null)
myButtonClickedEvn(sender, e);
}
В MainViewModel (в месте, где у вас есть экземпляр PictoPanelViewModel):
aPictoPanelViewModel.myButtonClickedEvn += new System.EventHandler (myButtonClickedInPictoPanelViewModel);