private void Move_Click(object sender, RoutedEventArgs e)
        {
            if (sideRight.SelectedElement != null)
            {
                selectedSite = SelectedSide.right;
            }
            else
            {
                selectedSite = SelectedSide.left;
            }

            DiscElement presentElement = selectedSite == SelectedSide.left ? sideLeft.SelectedElement : sideRight.SelectedElement;
            string      dirName        = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.Path : sideRight.SelectedElement.Path;
            string      fileName       = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.getName() : sideRight.SelectedElement.getName();
            string      sourcePath     = selectedSite == SelectedSide.left ? sideLeft.mainPath.Text : sideRight.mainPath.Text;
            string      targetPath     = selectedSite == SelectedSide.left ? sideRight.mainPath.Text : sideLeft.mainPath.Text;
            string      sourceFile     = System.IO.Path.Combine(sourcePath, fileName);
            string      destFile       = System.IO.Path.Combine(targetPath, fileName);

            if (sourcePath == targetPath)
            {
                return;
            }

            if (presentElement.isFile())
            {
                if (!Directory.Exists(targetPath))
                {
                    Directory.CreateDirectory(targetPath);
                }

                var paths = new PathToMove(sourceFile, destFile, presentElement.isFile());
                var bW    = new BackgroundWorker();
                bW.DoWork             += asyncMove;
                bW.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted;
                bW.RunWorkerAsync(paths);
            }

            else
            {
                if (!Directory.Exists(destFile))
                {
                    var paths = new PathToMove(dirName, destFile, presentElement.isFile());
                    var bW    = new BackgroundWorker();
                    bW.DoWork             += asyncMove;
                    bW.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted;
                    bW.RunWorkerAsync(paths);
                }
                else
                {
                    MessageBox.Show("Папка с указанным именем уже существует");
                    return;
                }
            }
        }
        private void delete_Click(object sender, RoutedEventArgs e)
        {
            if (sideRight.SelectedElement != null)
            {
                selectedSite = SelectedSide.right;
            }
            else
            {
                selectedSite = SelectedSide.left;
            }

            if (selectedSite == SelectedSide.left)
            {
                try
                {
                    var paths = new PathToMove(sideLeft.SelectedElement.Path, "", sideLeft.SelectedElement.isFile());
                    var bW    = new BackgroundWorker();
                    bW.DoWork             += asyncDelete;
                    bW.RunWorkerCompleted += afterAsyncDelete;
                    bW.RunWorkerAsync(paths);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            else
            {
                try
                {
                    var paths = new PathToMove(sideRight.SelectedElement.Path, "", sideRight.SelectedElement.isFile());
                    var bW    = new BackgroundWorker();
                    bW.DoWork             += asyncDelete;
                    bW.RunWorkerCompleted += afterAsyncDelete;
                    bW.RunWorkerAsync(paths);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }