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; } }
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(); }
private void NodeSelected(object sender, RoutedPropertyChangedEventArgs<object> e) { SelectedNode = (ProceduralNodeViewModel)((TreeView) sender).SelectedItem; }