32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using JD.Core;
|
|
using JD.WPF.Models.Menus;
|
|
|
|
namespace JD.WPF.Controls
|
|
{
|
|
public class FrameworkToolBarButtonTemplateSelector : DataTemplateSelector
|
|
{
|
|
public DataTemplate ImageSourceTemplate { get; set; }
|
|
public DataTemplate IconTemplateTemplate { get; set; }
|
|
public DataTemplate ErrorTemplate { get; set; }
|
|
|
|
public override DataTemplate SelectTemplate(object item, DependencyObject container)
|
|
{
|
|
if (!(item is MenuItemData))
|
|
{
|
|
CodeHelper.DebugBreak("This template selector can only use MenuItemData items. ");
|
|
return ErrorTemplate;
|
|
}
|
|
|
|
MenuItemData menuData = (MenuItemData)item;
|
|
if(menuData.HasIcon)
|
|
return ImageSourceTemplate;
|
|
if (menuData.HasIconTemplate)
|
|
return IconTemplateTemplate;
|
|
|
|
CodeHelper.DebugBreak("This template selector requires MenuItemData items with an Icon or a IconTemplate set. ");
|
|
return ErrorTemplate;
|
|
}
|
|
}
|
|
}
|