示例#1
0
 private void ConnectionPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     switch (e.PropertyName)
     {
         case "Root":
             _rootTopology = Connection.Topology.Root == null ? null : new ProceduralNodeViewModel(Connection.Topology.Root);
             OnPropertyChanged("Topology");
             break;
     }
 }
示例#2
0
        public NodeTree(IGameConnection connection)
        {
            Connection = connection;
            if (connection.Topology.Root != null)
                _rootTopology = new ProceduralNodeViewModel(Connection.Topology.Root);

            InitializeComponent();

            _observer = Observable.FromEventPattern<TextChangedEventArgs>(NodeFilterTextInput, "TextChanged")
                      .Throttle(TimeSpan.FromMilliseconds(250))
                      .Subscribe(a => Dispatcher.Invoke(() => FilterChanged(a.Sender, a.EventArgs)));

            connection.Topology.PropertyChanged += ConnectionPropertyChanged;

            RefreshTopology();
        }
示例#3
0
 private void NodeSelected(object sender, RoutedPropertyChangedEventArgs<object> e)
 {
     SelectedNode = (ProceduralNodeViewModel)((TreeView) sender).SelectedItem;
 }