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