//Uptades the LinqAction List according to the Chosen Filter/Sort
        private void intialSortFilterProps()
        {
            ILinqAction la = null;

            actionList.Clear();
            c.clearFilters();
            if (_main.IsChecked_NicknameSort)
            {
                la = new NicknameSort(_main.IsChecked_Reverse);
                actionList.Add(la);
            }
            else if (_main.IsChecked_TimeStamp)
            {
                la = new TimeSort(_main.IsChecked_Reverse);
                actionList.Add(la);
            }
            else if (_main.IsChecked_TripleSort)
            {
                la = new TripleSort(_main.IsChecked_Reverse);
                actionList.Add(la);
            }
            if (_main.IsChecked_Nickname)
            {
                c.AddNicknameFilter(_main.Tb_Nickname);
            }
            if (_main.IsChecked_Gid)
            {
                c.AddGroupFilter(int.Parse(_main.Tb_Gid));
            }
            currentSort = la?.name;
        }
        public void Search(BaseSearcher searcher)
        {
            // This allows the data to be cleared between searches.
            MatchingSentences = new List<Sentence>();

            Sentences.ForEach(x => searcher.Search(x));

            MatchingSentences = new TripleSort(MatchingSentences).Sort();
        }