private void LbEffectsList_ClickAdd(object sender, RoutedEventArgs e)
        {
            if (lbEffectsList.ItemsSource == null)
            {
                lbEffectsList.ItemsSource = new ObservableCollection <EffectTimeLines>();
            }

            if (!(lbEffectsList.ItemsSource is ObservableCollection <EffectTimeLines> timeLines))
            {
                return;
            }
            FrmPickOne frmPickOne = new FrmPickOne();
            Point      screenPos  = lbEffectsList.PointToScreen(new Point(0, 0));

            frmPickOne.Left = screenPos.X;
            frmPickOne.Top  = screenPos.Y;
            frmPickOne.lbChoices.ItemsSource = GetEffectsList(lbEffectsList.ItemsSource);
            if (frmPickOne.ShowDialog() == true)
            {
                if (frmPickOne.SelectedEntry is EffectEvent effectEvent)
                {
                    EffectTimeLines effectTimeLines = new EffectTimeLines();
                    effectTimeLines.Name = effectEvent.Name;
                    timeLines.Add(effectTimeLines);
                    groupEffectBuilder.tlEffects.ItemsSource = effectTimeLines.Entries;
                    groupEffectBuilder.Visibility            = Visibility.Visible;
                    OnPropertyChanged("Effects");

                    //groupEffectBuilder.Entries = null;
                    string entryName = effectEvent.Name;
                }
            }
        }
        protected virtual void OnTestEffect(EffectTimeLines timeLineData)
        {
            RoutedEffectEventArgs eventArgs = new RoutedEffectEventArgs(TestEffectEvent, timeLineData);

            RaiseEvent(eventArgs);
        }
 public RoutedEffectEventArgs(RoutedEvent routedEvent, EffectTimeLines timeLineData) : base(routedEvent)
 {
     TimeLineData = timeLineData;
 }