예제 #1
0
        public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            DependencyObject depObj = container;

            while (depObj.GetType() != typeof(SfDataGrid))
            {
                depObj = VisualTreeHelper.GetParent(depObj);
                if (depObj == null)
                {
                    return(null);
                }
            }
            if (depObj is FrameworkElement element)
            {
                if (item is PublishedReferentialAction refAction)
                {
                    if (refAction.PublishedReferential.FileHash != null && ExtensionsUtil.IsImageExtension(refAction.PublishedReferential.File.Extension))
                    {
                        return(element.FindResource("ImageTemplate") as DataTemplate);
                    }
                    if (refAction.PublishedReferential.FileHash != null)
                    {
                        return(element.FindResource("UriTemplate") as DataTemplate);
                    }
                    return(element.FindResource("TextTemplate") as DataTemplate);
                }
            }
            return(null);
        }
예제 #2
0
 public override DataTemplate SelectTemplate(object item, DependencyObject container)
 {
     if (container is FrameworkElement element)
     {
         if (item is PublishedReferentialAction refAction)
         {
             if (refAction.PublishedReferential.FileHash != null && ExtensionsUtil.IsImageExtension(refAction.PublishedReferential.File.Extension))
             {
                 return(element.FindResource("ImageTemplate") as DataTemplate);
             }
             if (refAction.PublishedReferential.FileHash != null)
             {
                 return(element.FindResource("UriTemplate") as DataTemplate);
             }
             return(element.FindResource("TextTemplate") as DataTemplate);
         }
         else if (item is PublishedResource pResource)
         {
             if (pResource.FileHash != null && ExtensionsUtil.IsImageExtension(pResource.File.Extension))
             {
                 return(element.FindResource("ResourceImageTemplate") as DataTemplate);
             }
             if (pResource.FileHash != null)
             {
                 return(element.FindResource("ResourceUriTemplate") as DataTemplate);
             }
             return(element.FindResource("ResourceTextTemplate") as DataTemplate);
         }
         else if (item is PublishedActionCategory pCategory)
         {
             if (pCategory.FileHash != null && ExtensionsUtil.IsImageExtension(pCategory.File.Extension))
             {
                 return(element.FindResource("CategoryImageTemplate") as DataTemplate);
             }
             if (pCategory.FileHash != null)
             {
                 return(element.FindResource("CategoryUriTemplate") as DataTemplate);
             }
             return(element.FindResource("CategoryTextTemplate") as DataTemplate);
         }
         else if (item is Skill skill)
         {
             if (skill.Hash != null && ExtensionsUtil.IsImageExtension(skill.CloudFile.Extension))
             {
                 return(element.FindResource("SkillImageTemplate") as DataTemplate);
             }
             if (skill.Hash != null)
             {
                 return(element.FindResource("SkillUriTemplate") as DataTemplate);
             }
             return(element.FindResource("SkillTextTemplate") as DataTemplate);
         }
     }
     return(null);
 }
예제 #3
0
 public override DataTemplate SelectTemplate(object item, DependencyObject container)
 {
     if (item is PublishedAction pAction && pAction.PublishedResource != null)
     {
         if (pAction.PublishedResource.FileHash != null && ExtensionsUtil.IsImageExtension(pAction.PublishedResource.File.Extension))
         {
             return(Application.Current.Resources["ResourceImageTemplate"] as DataTemplate);
         }
         if (pAction.PublishedResource.FileHash != null)
         {
             return(Application.Current.Resources["ResourceUriTemplate"] as DataTemplate);
         }
         return(Application.Current.Resources["ResourceTextTemplate"] as DataTemplate);
     }
     return(Application.Current.Resources["ResourceNullTemplate"] as DataTemplate);
 }
예제 #4
0
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     try
     {
         if (value is ICollection <PublishedReferentialAction> refs)
         {
             if (refs.Any() == true && refs.All(_ => _.PublishedReferential.File != null && ExtensionsUtil.IsImageExtension(_.PublishedReferential.File.Extension)))
             {
                 return(Orientation.Horizontal);
             }
         }
         return(Orientation.Vertical);
     }
     catch
     {
         return(Orientation.Vertical);
     }
 }