| 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);		}	}}
 |