コード例 #1
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values[1] == DependencyProperty.UnsetValue)
            {
                return(Visibility.Collapsed);
            }

            FilterFlagViewModel <ClassModel> filter = ForView.Unwrap <FilterFlagViewModel <ClassModel> >(values[0]);
            bool showAllClasses = (bool)values[1];

            return(showAllClasses || filter.Filter.HasSpells ? Visibility.Visible : Visibility.Collapsed);
        }
コード例 #2
0
        private FilterFlagViewModel <ClassModel> GetClassFilterObject(ClassModel cc)
        {
            FilterFlagViewModel <ClassModel> newfilter =
                new FilterFlagViewModel <ClassModel>(cc, () => string.IsNullOrEmpty(cc.ShortName) ? cc.Name : cc.ShortName, false);

            foreach (var child in cc.Subclasses)
            {
                if (child.ShowInFilterList && child.HasSpells)
                {
                    newfilter.AddChildFilter(GetClassFilterObject(child));
                }
            }

            return(newfilter);
        }