1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System.Windows;
- namespace HandyControl.Interactivity;
- public sealed class TriggerCollection : AttachableCollection<TriggerBase>
- {
- internal TriggerCollection()
- {
- }
- protected override void OnAttached()
- {
- foreach (var triggerBase in this)
- triggerBase.Attach(AssociatedObject);
- }
- protected override void OnDetaching()
- {
- foreach (var triggerBase in this)
- triggerBase.Detach();
- }
- internal override void ItemAdded(TriggerBase item)
- {
- if (AssociatedObject == null)
- return;
- item.Attach(AssociatedObject);
- }
- internal override void ItemRemoved(TriggerBase item)
- {
- if (((IAttachedObject) item).AssociatedObject == null)
- return;
- item.Detach();
- }
- protected override Freezable CreateInstanceCore()
- {
- return new TriggerCollection();
- }
- }
|