85 lines
3.4 KiB
C#
85 lines
3.4 KiB
C#
using Windows.Graphics.Printing.OptionDetails;
|
|
using Windows.UI.Xaml;
|
|
using Windows.UI.Xaml.Controls;
|
|
using Wino.Core.Domain.Enums;
|
|
using Wino.Core.Domain.Models.Menus;
|
|
|
|
namespace Wino.Selectors
|
|
{
|
|
public class RendererCommandBarItemTemplateSelector : DataTemplateSelector
|
|
{
|
|
public DataTemplate Reply { get; set; }
|
|
public DataTemplate ReplyAll { get; set; }
|
|
public DataTemplate Archive { get; set; }
|
|
public DataTemplate Unarchive { get; set; }
|
|
public DataTemplate SetFlag { get; set; }
|
|
public DataTemplate ClearFlag { get; set; }
|
|
public DataTemplate MarkAsRead { get; set; }
|
|
public DataTemplate MarkAsUnread { get; set; }
|
|
public DataTemplate Delete { get; set; }
|
|
public DataTemplate Move { get; set; }
|
|
public DataTemplate MoveToJunk { get; set; }
|
|
public DataTemplate SaveAs { get; set; }
|
|
public DataTemplate Zoom { get; set; }
|
|
public DataTemplate Forward { get; set; }
|
|
public DataTemplate DarkEditor { get; set; }
|
|
public DataTemplate LightEditor { get; set; }
|
|
public DataTemplate SeperatorTemplate { get; set; }
|
|
public DataTemplate Find { get; set; }
|
|
public DataTemplate Print { get; set; }
|
|
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
|
|
{
|
|
if (item is MailOperationMenuItem mailOperationItem)
|
|
{
|
|
switch (mailOperationItem.Operation)
|
|
{
|
|
case MailOperation.None:
|
|
break;
|
|
case MailOperation.Archive:
|
|
return Archive;
|
|
case MailOperation.UnArchive:
|
|
return Unarchive;
|
|
case MailOperation.SoftDelete:
|
|
return Delete;
|
|
case MailOperation.Move:
|
|
return Move;
|
|
case MailOperation.MoveToJunk:
|
|
return MoveToJunk;
|
|
case MailOperation.SetFlag:
|
|
return SetFlag;
|
|
case MailOperation.ClearFlag:
|
|
return ClearFlag;
|
|
case MailOperation.MarkAsRead:
|
|
return MarkAsRead;
|
|
case MailOperation.MarkAsUnread:
|
|
return MarkAsUnread;
|
|
case MailOperation.Reply:
|
|
return Reply;
|
|
case MailOperation.ReplyAll:
|
|
return ReplyAll;
|
|
case MailOperation.Zoom:
|
|
return Zoom;
|
|
case MailOperation.SaveAs:
|
|
return SaveAs;
|
|
case MailOperation.Find:
|
|
return Find;
|
|
case MailOperation.Forward:
|
|
return Forward;
|
|
case MailOperation.DarkEditor:
|
|
return DarkEditor;
|
|
case MailOperation.LightEditor:
|
|
return LightEditor;
|
|
case MailOperation.Seperator:
|
|
return SeperatorTemplate;
|
|
case MailOperation.Print:
|
|
return Print;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
return base.SelectTemplateCore(item, container);
|
|
}
|
|
}
|
|
}
|