public WindowViewModel()
    {
        BottomPanel = new BottomPanelViewModel();
        RecentPanel = new RecentPanelViewModel();

        BottomPanel.CurrentChanged += (s, e) =>
        {
            RecentPanel.Items.Add(BottomPanel.ItemsView.CurrentItem);
        };
    }
 public MessageWindowViewModel(MessageViewModel messageViewModel, BottomPanelButtons buttons)
 {
     _messageViewModel = messageViewModel;
     // "this" is passed as the BottomPanelViewModel's IHasBottomPanel parameter:
     _bottomPanelViewModel = new BottomPanelViewModel(buttons, this);
 }