Подписанное событие не стреляет - PullRequest
0 голосов
/ 26 мая 2018

У меня есть пользовательский элемент управления WPF, и вот код, где я инициализирую модель представления и подписываюсь на событие.

   public partial class MyUserControl : UserControl
   {
    public MyUserControl()
    {
        InitializeComponent();
        this.DataContext = new MyUserControlViewModel();
        ((MyUserControlViewModel)this.DataContext).MainModel.MessageDataNew.CollectionChanged += NewMessage_CollectionChanged;

    }

Это событие изменения коллекции, и ононе стреляет: (

   private void NewMessage_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
    {
        if (MessageStatus != null)
        {
            var border = (Border)VisualTreeHelper.GetChild(MessageStatus, 0);
            var scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
            scrollViewer.ScrollToBottom();
        }
    }

Это мой конструктор модели представления. Я использую GalaSoft.MvvmLight.Messaging

  public class MyUserControlViewModel: INotifyPropertyChanged
   {
     public MyUserControlViewModel()
     {        
        Messenger.Default.Register<string>(this, "SimulatorLogs", AddtoCollection);
     }

      public MainModel MainModel
      {
         get { return _mainModel; }
         set
         {   _mainModel = value;
             RaisePropertyChanged(() => MainModel);
         }
    }

    private void AddtoCollection(string measurementData)
    {
        MainModel.MessageDataNew.Add(measurementData);
    }
  }
...