AllTreeView.xaml.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System.Collections.Generic;
  2. using System.ComponentModel.Composition;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using System.Windows.Input;
  6. using Infrastructure;
  7. using Microsoft.Practices.Prism.PubSubEvents;
  8. namespace Modules.Tree
  9. {
  10. /// <summary>
  11. /// BehaviorTreeView.xaml 的交互逻辑
  12. /// </summary>
  13. [ViewExport(RegionName = "BehaviorTreeRegion"), PartCreationPolicy(CreationPolicy.NonShared)]
  14. public partial class AllTreeView
  15. {
  16. public AllTreeView()
  17. {
  18. this.InitializeComponent();
  19. this.nodeDataEditor.AllTreeView = this;
  20. this.treeView.AllTreeView = this;
  21. }
  22. [Import]
  23. private AllTreeViewModel ViewModel
  24. {
  25. get
  26. {
  27. return this.DataContext as AllTreeViewModel;
  28. }
  29. set
  30. {
  31. this.DataContext = value;
  32. }
  33. }
  34. private void MenuItem_Open(object sender, RoutedEventArgs e)
  35. {
  36. }
  37. private void MenuItem_Save(object sender, RoutedEventArgs e)
  38. {
  39. }
  40. private void MenuItem_New(object sender, RoutedEventArgs e)
  41. {
  42. TreeViewModel treeViewModel = new TreeViewModel(new List<TreeNodeData>());
  43. this.ViewModel.Add(treeViewModel);
  44. this.treeView.ViewModel = treeViewModel;
  45. }
  46. private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  47. {
  48. var item = (FrameworkElement)sender;
  49. var treeInfoViewModel = item.DataContext as TreeInfoViewModel;
  50. if (this.treeView.ViewModel.TreeId == treeInfoViewModel.Id)
  51. {
  52. return;
  53. }
  54. this.treeView.ViewModel = this.ViewModel.Get(treeInfoViewModel.Id);
  55. }
  56. }
  57. }