using AuroraUIComponent.Util; using System; using System.Collections.Generic; 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; using static WeldingCommon.Views.UCCameraPixelResolutionViewModel; namespace WeldingCommon.Views { /// /// Interaction logic for UCCameraPixelResolution.xaml /// public partial class UCCameraPixelResolution : UserControl { private UCCameraPixelResolutionViewModel _ViewModel; public UCCameraPixelResolution(UCCameraPixelResolutionViewModel viewModel) { InitializeComponent(); _ViewModel = viewModel; DataContext = _ViewModel; } #region Grid VisionCrossLineCoordinateList private void GridEditorVisionCrossLineCoordinateList_MouseDoubleClick(object sender, MouseButtonEventArgs e) { int nRow = GridEditorVisionCrossLineCoordinateList.SelectedIndex; _ViewModel.ReDrawIntersections(nRow); } private void GridEditorVisionCrossLineCoordinateList_RowDeleteClick(object sender, RoutedEventArgs e) { int nRow = GridEditorVisionCrossLineCoordinateList.SelectedIndex; _ViewModel.DataGridItemDelete(nRow); } private void PasteCommand_Executed_VisionCrossLineCoordinateList(object sender, ExecutedRoutedEventArgs e) { if (GridEditorVisionCrossLineCoordinateList.PasteFromClipboard(null)) { GridEditorVisionCrossLineCoordinateList.CommitEdit(); GridEditorVisionCrossLineCoordinateList.Items.Refresh(); } } private void GridEditorVisionCrossLineCoordinateList_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) { if (_ViewModel != null) { foreach (var item in e.RemovedCells) { if (item.Item is CrossCoordinate) { _ViewModel.SelectedVisionCrossLineCoordinateList.Remove(item.Item as CrossCoordinate); } } foreach (var item in e.AddedCells) { if (item.Item is CrossCoordinate) { var newItem = item.Item as CrossCoordinate; if (!_ViewModel.SelectedVisionCrossLineCoordinateList.Contains(newItem)) { _ViewModel.SelectedVisionCrossLineCoordinateList.Add(newItem); } } } } } private void GridEditorVisionCrossLineCoordinateList_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { if (!IsVisible) { _ViewModel.SelectedVisionCrossLineCoordinateList.Clear(); GridEditorVisionCrossLineCoordinateList.UnselectAllCells(); } else { } } private void GridEditorVisionCrossLineCoordinateList_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Escape) { if (sender is DataGrid dg) { dg.SelectedItem = null; } if (sender is ListBox lb) { lb.SelectedItem = null; } } else if (e.Key == Key.Delete) { int nRow = GridEditorVisionCrossLineCoordinateList.SelectedIndex; _ViewModel.DataGridItemDelete(nRow); } } #endregion } }