using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Signal_Generator { /// /// Логика взаимодействия для MainWindow.xaml /// public partial class MainWindow : Window { AddSignalWindow addSignalWindow_Instance; TaskWindow taskWindow_Instance; ObservableCollection signalCollection; public MainWindow() { InitializeComponent(); signalCollection = new ObservableCollection(); signals_ListBox.Items.Clear(); signals_ListBox.ItemsSource = signalCollection; } private void addSignal_Button_Click(object sender, RoutedEventArgs e) { addSignalWindow_Instance = new AddSignalWindow(); addSignalWindow_Instance.createItem_Button.Click += addSignalWindow_Instance_Closing; addSignalWindow_Instance.Show(); } private void addSignalWindow_Instance_Closing(object sender, EventArgs e) { var signal = null as IAnalogSignal; signal = (IAnalogSignal) addSignalWindow_Instance.signalType_ComboBox.SelectedItem; if (addSignalWindow_Instance.signalType_ComboBox.SelectedItem == null) return; signalCollection.Add(signal); addSignalWindow_Instance.Close(); } private void startProcedure_Button_Click(object sender, RoutedEventArgs e) { MultiSignal ms = new MultiSignal(); foreach (IAnalogSignal item in signalCollection) { ms.add(item); } taskWindow_Instance = new TaskWindow(ms); taskWindow_Instance.Show(); } private void removeSignal_Button_Click(object sender, RoutedEventArgs e) { if (signals_ListBox.SelectedIndex == -1) return; signalCollection.RemoveAt(signals_ListBox.SelectedIndex); } } }