public MainWindow() { InitializeComponent(); //mvm = testPopulate(); mvm = FileHandling.loadFiles(); DataContext = mvm; //List<ViewModels.Tag> allTags = new List<ViewModels.Tag>(); //for (int i = 1; i < 10; i++) //{ // allTags.Add(new ViewModels.Tag("Tag"+i.ToString())); //} //ViewModels.WatchedFile wf = new ViewModels.WatchedFile("testname", "testpath", // new ObservableCollection<ViewModels.Tag>() {new ViewModels.Tag("Tag_File_1"), new ViewModels.Tag("Tag_File_2") }, // new ObservableCollection<ViewModels.WatchedFile>()); }
void TV_Drop(object sender, DragEventArgs e) { if (!doDragDrop) { return; } //DependencyObject uie = TV_Sort.InputHitTest(e.GetPosition(TV_Sort)) as DependencyObject; ViewModels.WatchedFile dragItem = e.Data.GetData(typeof(ViewModels.WatchedFile)) as ViewModels.WatchedFile; if (dragItem == null) { return; } ViewModels.WatchedFile dropOnItem = null; ObservableCollection <ViewModels.WatchedFile> dropOnList = null; switch (((DependencyObject)e.OriginalSource).DependencyObjectType.SystemType.Name) { case "TextBlock": dropOnItem = (e.OriginalSource as TextBlock).DataContext as ViewModels.WatchedFile; break; case "Image": dropOnItem = (e.OriginalSource as Image).DataContext as ViewModels.WatchedFile; break; case "Border": dropOnItem = (e.OriginalSource as Border).DataContext as ViewModels.WatchedFile; break; default: if (e.OriginalSource is Grid) { dropOnList = (e.OriginalSource as Grid).DataContext as ObservableCollection <ViewModels.WatchedFile>; } else { return; } break; } if (dropOnItem != null) { if (dropOnItem == dragItem) { return; } if (!string.IsNullOrEmpty(dropOnItem.Path)) { MessageBox.Show("You cant drop something on another file, drop it on a folder instead."); return; } FileHandling.removeFileFromWatchList(mvm.WatchedFiles, dragItem); doDragDrop = true; dropOnItem.Subs.Add(dragItem); foreach (ViewModels.WatchedFile file in mvm.WatchedFiles) { FileHandling.refeshFilesInView(file); } e.Handled = true; } else //if (dropOnList == null) { FileHandling.removeFileFromWatchList(mvm.WatchedFiles, dragItem); doDragDrop = true; mvm.WatchedFiles.Add(dragItem); e.Handled = true; } doDragDrop = false; }
private void TV_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (TV.SelectedItem != null) { ViewModels.WatchedFile selected = ((ViewModels.WatchedFile)TV.SelectedItem); B_Explorer.Visibility = Visibility.Collapsed; B_Open.Visibility = Visibility.Collapsed; G_Show.Children.Clear(); if (!string.IsNullOrEmpty(selected.Path)) { if (!File.Exists(selected.Path)) { if (MessageBox.Show("Die Datei wurde gelöscht oder verschoben. Wollen sie die Datei aus der Liste entfernen?", "Datei nicht gefunden", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) { FileHandling.removeFileFromWatchList(mvm.WatchedFiles, selected); doDragDrop = true; } return; } if (selected.Path.EndsWith("txt") || selected.Path.EndsWith("xml") || selected.Path.EndsWith("xsd")) { B_Explorer.Visibility = Visibility.Visible; B_Open.Visibility = Visibility.Visible; Rectangle r = new Rectangle(); r.Margin = new Thickness(0); r.Stroke = new SolidColorBrush(Colors.Gray); r.StrokeThickness = 1; ScrollViewer sv = new ScrollViewer(); sv.Margin = new Thickness(1); sv.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; sv.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; TextBlock TB = new TextBlock(); TB.Margin = new Thickness(0); TB.Text = File.ReadAllText(selected.Path); sv.Content = TB; G_Show.Children.Add(sv); G_Show.Children.Add(r); } else if (selected.Path.EndsWith("pdf")) { B_Explorer.Visibility = Visibility.Visible; B_Open.Visibility = Visibility.Visible; Rectangle r = new Rectangle(); r.Margin = new Thickness(0); r.Stroke = new SolidColorBrush(Colors.Gray); r.StrokeThickness = 1; ScrollViewer sv = new ScrollViewer(); sv.Margin = new Thickness(1); sv.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; sv.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; WebBrowser WB = new WebBrowser(); WB.Margin = new Thickness(0); WB.Navigate("file:///" + selected.Path); sv.Content = WB; G_Show.Children.Add(sv); G_Show.Children.Add(r); } } } }
private void Window_Closing(object sender, CancelEventArgs e) { FileHandling.saveFiles(mvm); }