JD2022-TU1/main/tools/framework/JD.WPF/Controls/FrameworkToolBarButtonTemplateSelector.cs

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;
}
}
}