| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- using System.ComponentModel.Composition;
- using System.Configuration;
- using System.Windows;
- using System.Windows.Input;
- using Infrastructure;
- namespace Modules.BehaviorTreeModule
- {
- /// <summary>
- /// BehaviorTreeView.xaml 的交互逻辑
- /// </summary>
- [ViewExport(RegionName = "BehaviorTreeRegion"), PartCreationPolicy(CreationPolicy.NonShared)]
- public partial class AllTreeView
- {
- public AllTreeView()
- {
- this.InitializeComponent();
- this.nodeDataEditor.AllTreeView = this;
- this.treeView.AllTreeView = this;
- }
- [Import]
- private AllTreeViewModel ViewModel
- {
- get
- {
- return this.DataContext as AllTreeViewModel;
- }
- set
- {
- this.DataContext = value;
- }
- }
- private void MenuItem_Open(object sender, RoutedEventArgs e)
- {
- string nodePath = ConfigurationManager.AppSettings["NodePath"];
- this.ViewModel.Open(nodePath);
- this.lbTreeRoots.SelectedIndex = -1;
- this.treeView.ViewModel = null;
- }
- private void MenuItem_Save(object sender, RoutedEventArgs e)
- {
- string nodePath = ConfigurationManager.AppSettings["NodePath"];
- this.ViewModel.Save(nodePath);
- }
- private void MenuItem_New(object sender, RoutedEventArgs e)
- {
- TreeViewModel treeViewModel = this.ViewModel.New();
- this.treeView.ViewModel = treeViewModel;
- }
- private void MenuItem_Clone(object sender, RoutedEventArgs e)
- {
- if (this.lbTreeRoots.SelectedItem == null)
- {
- return;
- }
- TreeNodeViewModel treeNodeViewModel = this.lbTreeRoots.SelectedItem as TreeNodeViewModel;
- TreeViewModel treeViewModel = this.ViewModel.Clone(treeNodeViewModel);
- this.treeView.ViewModel = treeViewModel;
- }
- private void MenuItem_Remove(object sender, RoutedEventArgs e)
- {
- if (this.lbTreeRoots.SelectedItem == null)
- {
- return;
- }
- TreeNodeViewModel treeNodeViewModel = this.lbTreeRoots.SelectedItem as TreeNodeViewModel;
- this.ViewModel.Remove(treeNodeViewModel.TreeId);
- this.lbTreeRoots.SelectedItem = null;
- e.Handled = true;
- }
- private void ListBoxItem_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
- FrameworkElement item = (FrameworkElement) sender;
- TreeNodeViewModel treeNodeViewModel = item.DataContext as TreeNodeViewModel;
- if (this.treeView.ViewModel != null)
- {
- if (this.treeView.ViewModel.TreeId == treeNodeViewModel.TreeId)
- {
- return;
- }
- }
- this.treeView.ViewModel = this.ViewModel.Get(treeNodeViewModel.TreeId);
- }
- private void ListBoxItem_OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
- {
- FrameworkElement item = (FrameworkElement) sender;
- TreeNodeViewModel treeNodeViewModel = item.DataContext as TreeNodeViewModel;
- this.lbTreeRoots.SelectedItem = treeNodeViewModel;
- }
- }
- }
|