Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }