public override DataTemplate SelectTemplate(object item, DependencyObject container) { FrameworkElement element = container as FrameworkElement; if (element == null) { return(null); } SnoopParameterInformation snoopParameterInfo = item as SnoopParameterInformation; //if (snoopParameterInfo.TypeConverter.GetType() == typeof(TypeConverter)) if (snoopParameterInfo.IsEnum || snoopParameterInfo.ParameterType.Equals(typeof(bool))) { return(element.FindResource("EnumParameterTemplate") as DataTemplate); } if (snoopParameterInfo.ParameterType.Equals(typeof(DependencyProperty))) { return(element.FindResource("DependencyPropertyTemplate") as DataTemplate); } if (snoopParameterInfo.IsCustom) { return(element.FindResource("UnknownParameterTemplate") as DataTemplate); } return(element.FindResource("DefaultParameterTemplate") as DataTemplate); }
public IList <SnoopParameterInformation> GetParameters(Type declaringType) { if (_methodInfo == null) { return(new List <SnoopParameterInformation>()); } var parameterInfos = _methodInfo.GetParameters(); List <SnoopParameterInformation> parametersToReturn = new List <SnoopParameterInformation>(); foreach (var parameterInfo in parameterInfos) { var snoopParameterInfo = new SnoopParameterInformation(parameterInfo, declaringType); parametersToReturn.Add(snoopParameterInfo); } return(parametersToReturn); }