Files
HandyControl/Net40/HandyControl_Net40/Tools/StyleSelector/TabItemCapsuleStyleSelector.cs
T
2019-01-21 11:12:38 +08:00

30 lines
1.0 KiB
C#

using System.Windows;
using System.Windows.Controls;
using HandyControl.Data;
namespace HandyControl.Tools
{
public class TabItemCapsuleStyleSelector : StyleSelector
{
public override Style SelectStyle(object item, DependencyObject container)
{
if (item is TabItem tabItem && tabItem.Parent is TabControl tabControl)
{
var count = tabControl.Items.Count;
if (count == 1)
{
return ResourceHelper.GetResource<Style>(ResourceToken.TabItemCapsuleSingle);
}
var index = tabControl.Items.IndexOf(tabItem);
return index == 0
? ResourceHelper.GetResource<Style>(ResourceToken.TabItemCapsuleHorizontalFirst)
: ResourceHelper.GetResource<Style>(index == count - 1
? ResourceToken.TabItemCapsuleHorizontalLast
: ResourceToken.TabItemCapsuleDefault);
}
return null;
}
}
}