/// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="source">Источник.</param>
 /// <param name="query">Запрос.</param>
 /// <param name="sortPosts">Сортировать посты.</param>
 public FilteredPostCollection(IPostCollectionViewModel source, IPostCollectionSearchQuery query, bool sortPosts = true)
 {
     if (source == null) throw new ArgumentNullException(nameof(source));
     if (query == null) throw new ArgumentNullException(nameof(query));
     Source = source;
     Query = query;
     MergeAndSortPosts = sortPosts;
     Source.PostsUpdated += SourceOnPostsUpdated;
     SetPosts();
 }
 private void SetFilter(string filter)
 {
     if (string.IsNullOrWhiteSpace(filter))
     {
         FilteredPosts = ViewModel;
     }
     else
     {
         FilteredPosts = ViewModel.FilterPosts(new TextPostCollectionSearchQuery(filter), false);
     }
 }
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="postCollection">Коллекция постов.</param>
 /// <param name="post">Пост, с которого был совершён переход.</param>
 public ShowFullThreadEventArgs(IPostCollectionViewModel postCollection, IPostViewModel post)
 {
     PostCollection = postCollection;
     Post = post;
 }
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="postData">Данные поста.</param>
 /// <param name="parent">Родительская модель.</param>
 /// <param name="omitPosts">Пропущено постов.</param>
 public PostViewModel(PostTree postData, IPostCollectionViewModel parent, int omitPosts) : base(postData, parent)
 {
     this.omitPosts = omitPosts;
 }
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="postData">Данные поста.</param>
 /// <param name="parent">Родительская модель.</param>
 public PostViewModel(PostTree postData, IPostCollectionViewModel parent) : base(postData, parent)
 {
 }
 /// <summary>
 /// Конструктор.
 /// </summary>
 /// <param name="postData">Данные поста.</param>
 /// <param name="parent">Родительская модель.</param>
 protected PostViewModelBase(PostTree postData, IPostCollectionViewModel parent)
 {
     PostData = postData;
     Parent = parent;
 }