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