Files
HandyControl/HandyControl/Controls/Transfer/TransferGroup.cs
T
2019-01-28 00:31:06 +08:00

54 lines
1.5 KiB
C#

using System.Collections.Specialized;
using System.Windows;
namespace HandyControl.Controls
{
public class TransferGroup : SimpleItemsControl
{
protected override void Refresh()
{
if (Items.Count > 0)
{
foreach (FrameworkElement item in Items)
{
item.Style = ItemContainerStyle;
ItemsHost.Children.Add(item);
}
}
}
protected override void OnItemTemplateChanged(DependencyPropertyChangedEventArgs e)
{
}
protected override void OnItemContainerStyleChanged(DependencyPropertyChangedEventArgs e)
{
}
protected override DependencyObject GetContainerForItemOverride() => new TransferItem();
protected override bool IsItemItsOwnContainerOverride(object item) => item is TransferItem;
protected override void OnItemsChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (ItemsHost == null) return;
if (e.OldItems != null)
{
foreach (FrameworkElement item in e.OldItems)
{
ItemsHost.Children.Remove(item);
}
}
if (e.NewItems != null)
{
foreach (FrameworkElement item in e.NewItems)
{
item.Style = ItemContainerStyle;
ItemsHost.Children.Add(item);
}
}
}
}
}