async Task Searching()
        {
            task = Task.Factory.StartNew(() =>
            {
                this.Dispatcher.BeginInvoke(new Action(() =>
                {
                    try
                    {
                        list.AddRange(Directory.GetFiles(open, $"*{txtName.Text}*", SearchOption.AllDirectories));
                    }
                    catch (UnauthorizedAccessException)
                    {
                        System.Windows.MessageBox.Show("Отказано в доступе");
                    }
                    catch (DirectoryNotFoundException)
                    {
                        System.Windows.MessageBox.Show("Указаная директория не существует");
                    }

                    foreach (var item in list.ToList())
                    {
                        this.Dispatcher.BeginInvoke(new Action(() =>
                        {
                            if (!isStopped)
                            {
                                if (!isPaused)
                                {
                                    FileInfo fi = new FileInfo(item);
                                    if (isCheck)
                                    {
                                        var fileContext = File.ReadAllLines(fi.FullName);
                                        context         = new HashSet <string>(fileContext);
                                        if (fileContext.Contains(txtText.Text))
                                        {
                                            var viewItem    = new TreeViewItem();
                                            viewItem.Header = fi.Name;
                                            viewItem.AddHandler(UIElement.PreviewMouseDownEvent, new MouseButtonEventHandler(mouse_Down));
                                            viewItem.DataContext = fi.FullName;
                                            tree.Items.Add(viewItem);
                                        }
                                    }
                                    else
                                    {
                                        var viewItem    = new TreeViewItem();
                                        viewItem.Header = fi.Name;
                                        viewItem.AddHandler(UIElement.PreviewMouseDownEvent, new MouseButtonEventHandler(mouse_Down));
                                        viewItem.DataContext = fi.FullName;
                                        tree.Items.Add(viewItem);
                                    }
                                    count++;
                                    txtLog.Text = $"Название файла: {fi.Name}\nКоличество файлов: {count}\nВремя: {sec} сек.";
                                }
                            }
                        }), DispatcherPriority.Background);
                    }
                }), DispatcherPriority.Normal);
                this.Dispatcher.BeginInvoke(new Action(() =>
                {
                    btnSearch.IsEnabled = true;
                    btnCancel.IsEnabled = false;
                    txtStatus.Text      = "Завершено";
                    sec      = 0;
                    isWorked = false;
                    count    = 0;
                    if (tree.Items.Count == 0)
                    {
                        System.Windows.MessageBox.Show("Файлы не найдены");
                    }
                }), DispatcherPriority.ApplicationIdle);
            });
        }