1234567891011121314151617181920212223242526272829303132 |
- using System.Collections.Generic;
- using System.Windows;
- namespace OpenSEMI.ClientBase.Command
- {
- public sealed class CommandTriggerGroup : FreezableCollection<CommandTrigger>, ICommandTrigger
- {
- private readonly HashSet<ICommandTrigger> _initList = new HashSet<ICommandTrigger>();
- void ICommandTrigger.Initialize(FrameworkElement source)
- {
- using (Enumerator enumerator = GetEnumerator())
- {
- while (enumerator.MoveNext())
- {
- ICommandTrigger current = enumerator.Current;
- if (!_initList.Contains(current))
- {
- InitializeCommandSource(source, current);
- }
- }
- }
- }
- private void InitializeCommandSource(FrameworkElement source, ICommandTrigger child)
- {
- child.Initialize(source);
- _initList.Add(child);
- }
- }
- }
|