private void Down()
        {
            string temp  = FileNamesProperty[selectedIndex];
            int    index = selectedIndex;

            FileNamesProperty.RemoveAt(selectedIndex);
            FileNamesProperty.Insert(index + 1, temp);
            selectedIndex = index + 1;
        }
 private void Delete()
 {
     if (FileNamesProperty.Count != 0)
     {
         if (!deletedSheetsname.Contains(FileNamesProperty[selectedIndex]))
         {
             deletedSheetsname.Add(FileNamesProperty[selectedIndex]);
         }
         FileNamesProperty.RemoveAt(selectedIndex);
     }
     selectedIndex = 0;
 }
        private void RemoveAll()
        {
            foreach (string filename in FileNamesProperty)
            {
                if (!deletedSheetsname.Contains(filename))
                {
                    deletedSheetsname.Add(filename);
                }
            }

            FileNamesProperty.Clear();
            selectedIndex = -1;
        }
        private void Add(string[] files)
        {
            string        existnames = string.Empty;
            int           index      = 0;
            List <string> existFiles = new List <string>();

            //List<string> existFiles = ffs.HasExistsheet(files.Select(p => Path.GetFileNameWithoutExtension(p)).ToArray());
            existFiles = (from fn in FileNamesProperty
                          join f in files
                          on fn equals Path.GetFileNameWithoutExtension(f)
                          select fn).ToList();

            if (existFiles != null && existFiles.Count != 0)
            {
                foreach (string item in existFiles)
                {
                    existnames += (item + "\r\n");
                }

                if (System.Windows.MessageBox.Show(string.Format("是否覆盖下列数据:\r\n{0}", existnames),
                                                   "提示", MessageBoxButton.YesNo, MessageBoxImage.Asterisk, MessageBoxResult.Yes) == MessageBoxResult.Yes)
                {
                    foreach (string item in existFiles)
                    {
                        if (!deletedSheetsname.Contains(item))
                        {
                            deletedSheetsname.Add(item);
                        }
                        foreach (string file in files)
                        {
                            if (item.Equals(Path.GetFileNameWithoutExtension(file)))
                            {
                                index = FileNamesProperty.IndexOf(item);
                                FileNamesProperty.RemoveAt(index);
                                FileNamesProperty.Insert(index, file);
                                break;
                            }
                        }
                    }
                }
            }

            foreach (string file in files)
            {
                if (!existFiles.Contains(Path.GetFileNameWithoutExtension(file)))
                {
                    FileNamesProperty.Add(file);
                }
            }
        }
        /// <summary>
        /// Initializes a new instance of the ModifyFilePosViewModel class.
        /// </summary>
        public ModifyFilePosViewModel()
        {
            fileNames = new ObservableCollection <string>();
            MessengerInstance.Register <FulfillSource>(this, "ModifyFilePos",
                                                       (p) =>
            {
                ffs = p;

                foreach (string filename in p.GetExistSheets())
                {
                    FileNamesProperty.Add(filename);
                }
            });
            deletedSheetsname = new List <string>();
        }