コード例 #1
0
        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (!(sender is Button button))
            {
                return;
            }

            FrmPickOne frmPickOne = new FrmPickOne();
            Point      screenPos  = button.PointToScreen(new Point(0, 0));

            frmPickOne.Left = screenPos.X;
            frmPickOne.Top  = screenPos.Y;
            frmPickOne.lbChoices.ItemsSource = Storage.LoadEntriesFromFile <EffectEntry>("AllEffects.json");
            if (frmPickOne.ShowDialog() == true)
            {
                if (frmPickOne.SelectedEntry is EffectEntry effectEntry)
                {
                    string entryName = effectEntry.Name;

                    TimeLineEffect newEntry = AddEntry(TimeSpan.Zero, GetEffectDuration(effectEntry), entryName, effectEntry);
                    newEntry.PropertyChanged += Entry_PropertyChanged;
                    OnPropertyChanged();
                }
            }
        }
コード例 #2
0
        public TimeLineEffect AddEntry(TimeSpan start, TimeSpan duration, string name, EffectEntry data)
        {
            TimeLineEffect timeLineEntry = new TimeLineEffect()
            {
                Start = start, Duration = duration, Name = name, Effect = data, Index = Entries.Count
            };

            Entries.Add(timeLineEntry);
            return(timeLineEntry);
        }