private List <WDOMNode> GetNodesFromStage(BindingExpression binding) { List <WDOMNode> result = new List <WDOMNode>(); Type field_type = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType; WDOMNode source_object = binding.ResolvedSource as WDOMNode; WStage stage = source_object.World.Map.SceneList.First(x => x.GetType() == typeof(WStage)) as WStage; result = stage.GetChildrenOfType(field_type); if (source_object.GetType() == field_type) { result.Remove(source_object); } return(result); }
public void FillComboBox() { BindingExpression binding = GetBindingExpression(ActorReferenceProperty); Type field_type = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType; WDOMNode source_object = binding.ResolvedSource as WDOMNode; WDOMNode cur_object = source_object; while (cur_object.Parent != null) { cur_object = cur_object.Parent; } List <WDOMNode> ba = cur_object.GetChildrenOfType(field_type); if (source_object.GetType() == field_type) { ba.Remove(source_object); } actor_combo.ItemsSource = ba; }
private List <WDOMNode> GetNodesFromRoom(BindingExpression binding) { List <WDOMNode> result = new List <WDOMNode>(); Type field_type = binding.ResolvedSource.GetType().GetProperty(binding.ResolvedSourcePropertyName).PropertyType; WDOMNode source_object = binding.ResolvedSource as WDOMNode; WDOMNode cur_object = source_object; while (cur_object.Parent != null) { cur_object = cur_object.Parent; } result = cur_object.GetChildrenOfType(field_type); if (source_object.GetType() == field_type) { result.Remove(source_object); } return(result); }