added two editors

This commit is contained in:
NaBian committed 2020-06-20 18:48:13 +08:00
1 parent 198ef78872
commit f4b1796f98
23 files changed
+345 -60

No files matched your search

@@ -0,0 +1,30 @@
using System.Windows;
using System.Windows.Controls;
using HandyControl.Data;
namespace HandyControl.Tools
{
public class ComboBoxItemCapsuleStyleSelector : StyleSelector
{
public override Style SelectStyle(object item, DependencyObject container)
{
if (container is ComboBoxItem comboBoxItem && VisualHelper.GetParent<ComboBox>(comboBoxItem) is { } comboBox)
{
var count = comboBox.Items.Count;
if (count == 1)
{
return ResourceHelper.GetResource<Style>(ResourceToken.ComboBoxItemCapsuleSingle);
}
var index = comboBox.ItemContainerGenerator.IndexFromContainer(comboBoxItem);
return index == 0
? ResourceHelper.GetResource<Style>(ResourceToken.ComboBoxItemCapsuleHorizontalFirst)
: ResourceHelper.GetResource<Style>(index == count - 1
? ResourceToken.ComboBoxItemCapsuleHorizontalLast
: ResourceToken.ComboBoxItemCapsuleDefault);
}
return null;
}
}
}