TreeNodeViewModel.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Microsoft.Practices.Prism.ViewModel;
  6. using System.Collections.ObjectModel;
  7. namespace BehaviorTree
  8. {
  9. public class TreeNodeViewModel : NotificationObject
  10. {
  11. private TreeNode treeNode;
  12. private TreeNodeViewModel parent;
  13. private ObservableCollection<TreeNodeViewModel> children = new ObservableCollection<TreeNodeViewModel>();
  14. public TreeNodeViewModel(TreeNode treeNode, TreeNodeViewModel parent)
  15. {
  16. this.treeNode = treeNode;
  17. this.parent = parent;
  18. }
  19. public double X
  20. {
  21. get
  22. {
  23. return treeNode.X;
  24. }
  25. set
  26. {
  27. if (treeNode.X == value)
  28. {
  29. return;
  30. }
  31. treeNode.X = value;
  32. RaisePropertyChanged("X");
  33. }
  34. }
  35. public double Y
  36. {
  37. get
  38. {
  39. return treeNode.Y;
  40. }
  41. set
  42. {
  43. if (treeNode.Y == value)
  44. {
  45. return;
  46. }
  47. treeNode.Y = value;
  48. RaisePropertyChanged("Y");
  49. }
  50. }
  51. public int Type
  52. {
  53. get
  54. {
  55. return treeNode.Type;
  56. }
  57. set
  58. {
  59. if (treeNode.Type == value)
  60. {
  61. return;
  62. }
  63. treeNode.Type = value;
  64. RaisePropertyChanged("Type");
  65. }
  66. }
  67. public ObservableCollection<TreeNodeViewModel> Children
  68. {
  69. get
  70. {
  71. return children;
  72. }
  73. set
  74. {
  75. children = value;
  76. }
  77. }
  78. }
  79. }