private void SetMessagesCollection(LogMessageCollection value) { if (value == null) { throw new ArgumentNullException(); } if (_messages != null) { ((INotifyCollectionChanged)_messages.Items).CollectionChanged -= MessagesCollectionChanged; } if (_view != null) { _view.Filter = null; } _messages = value; ((INotifyCollectionChanged)_messages.Items).CollectionChanged += MessagesCollectionChanged; _view = CollectionViewSource.GetDefaultView(_messages.Items); _view.Filter = MessageFilter; MessageGrid.ItemsSource = _messages.Items; TryScroll(); }
/// <summary> /// Создать <see cref="LogControl"/>. /// </summary> public LogControl() { InitializeComponent(); Messages = new LogMessageCollection { MaxCount = LogMessageCollection.DefaultMaxItemsCount }; MessageGrid.SelectionMode = DataGridSelectionMode.Extended; }