private void List_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (List.SelectedItems.Count == 0)
     {
         CopyFrameButton.IsEnabled = false;
     }
     else if (List.SelectedItems.Count == 1)
     {
         SingleFrameSelected?.Invoke(this, List.SelectedItem as DecodedFrame);
         CopyFrameButton.IsEnabled = true;
     }
 }
        private void TossFrameButton_Click(object sender, RoutedEventArgs e)
        {
            var lst   = List.ItemsSource as List <DecodedFrame>;
            int index = List.Items.IndexOf(List.SelectedItems[List.SelectedItems.Count - 1]);

            for (int i = 0, cnt = List.SelectedItems.Count; i < cnt; i++)
            {
                lst.Remove(List.SelectedItems[i] as DecodedFrame);
            }
            bool addedFrame = false;

            if (lst.Count == 0)
            {
                lst.Add(new DecodedFrame());
                addedFrame = true;
            }
            List.Items.Refresh();
            List.SelectedIndex = index < lst.Count ? index : 0;
            if (addedFrame)
            {
                SingleFrameSelected?.Invoke(this, List.SelectedItem as DecodedFrame);
            }
        }