コード例 #1
0
        void SelectDefaultTemplate()
        {
            if (SelectedTemplateId != null)
            {
                SelectTemplate(SelectedTemplateId);
            }
            else if (RecentTemplates.Count > 0)                 // select first recently used template if possible
            {
                var lastUsedTemplate = RecentTemplates.First();
                SelectTemplateInCategory(lastUsedTemplate.Category, lastUsedTemplate.Id);
                // SelectTemplateInCategory has selected the group containing the recent template,
                // make sure to select the actual recent template inside the group if the group exists
                if (SelectedTemplate != null)
                {
                    SelectedTemplate = lastUsedTemplate;
                }
            }
            else if (DefaultSelectedCategoryPath != null)                 // fallback to old DefaultSelected properties
            {
                if (DefaultSelectedTemplate != null)
                {
                    SelectTemplateInCategory(DefaultSelectedCategoryPath, DefaultSelectedTemplate);
                }

                if (SelectedTemplate == null)
                {
                    SelectFirstTemplateInCategory(DefaultSelectedCategoryPath);
                }
            }

            if (SelectedSecondLevelCategory == null)
            {
                SelectFirstAvailableTemplate();
            }
        }