/// <summary> /// 删除按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="ptInfo">存储路面类型信息</param> private void DeleteClick(object sender, RoutedEventArgs e) { PavementType pavementType = this.pavementTypeInfoDataGrid.SelectedItem as PavementType; ptInfo.Remove(pavementType); //更新当前视图 //更新当前视图 this.pavementTypeInfoDataGrid.ItemsSource = null; this.pavementTypeInfoDataGrid.ItemsSource = ptInfo; }
/// <summary> /// 编辑按钮 点击DataGrid中的编辑按钮,对路面类型信息进行编辑,记录选中的索引,等待路面类型修改窗 /// 口关闭后,对对应的索引值直接赋值 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="ptInfo">存储路面类型信息</param> private void EditClick(object sender, RoutedEventArgs e) { PavementType pt = this.pavementTypeInfoDataGrid.SelectedItem as PavementType; int idx = -1;//记录路面类型在私有变量中的位置 for (int i = 0; i < ptInfo.Count(); i++) { if (ptInfo[i] == pt) { idx = i; } } //打开修改路面类型窗口 PavementTypeWindow pavementTypeWindow = new PavementTypeWindow(testRouteViewModelSelf, pt); pavementTypeWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen; pavementTypeWindow.ShowDialog(); //当修改当前路面类型时,将修改过的路面类型进行赋值 if (idx != -1) { //trSelf.PavementTypeInfo[idx] = pavementTypeWindow.ptSelf; ptInfo[idx] = pavementTypeWindow.ptSelf; } // if (OperationFlag == "Update") // { //更新当前视图 this.pavementTypeInfoDataGrid.ItemsSource = null; this.pavementTypeInfoDataGrid.ItemsSource = ptInfo; // ptList = tr.PavementTypeInfo; // } // else // { // //更新当前视图 // this.pavementTypeInfoDataGrid.ItemsSource = null; // this.pavementTypeInfoDataGrid.ItemsSource = trSelf.PavementTypeInfo; // ptInfo = trSelf.PavementTypeInfo; // } //var MyVM = this.testRouteViewModelSelf; //if (MyVM != null && MyVM.UpdatePavementTypeCommand.CanExecute(ptList)) // MyVM.UpdatePavementTypeCommand.Execute(ptList); }
/// <summary> /// 通过Messenger发送消息获取TestRoute信息 /// </summary> /// <param name="tr">选中的测试路线</param> private void TestRouteMessage(TestRoute tr) { //拷贝tr数据 //首先拷贝路面类型数据 //ptInfo.Clear(); foreach (var item in tr.pavementTypeInfo) { PavementType r = Mapper <PavementType, PavementType>(item); ptInfo.Add(r); } //拷贝路面基础信息数据 trbSelf = Mapper <TestRouteBase, TestRouteBase>(tr.TestRouteBase); trSelf = new TestRoute { TestRouteBase = trbSelf, pavementTypeInfo = ptInfo }; this.pavementTypeInfoDataGrid.ItemsSource = trSelf.PavementTypeInfo; this.DataContext = trSelf; }
public PavementTypeWindow(TestRouteViewModel testRouteViewModel, PavementType pts) { InitializeComponent(); this.MouseLeftButtonDown += (sender, e) => { if (e.ButtonState == MouseButtonState.Pressed) { this.DragMove(); } }; if (pts != null) { this.ptSelf = Mapper <PavementType, PavementType>(pts); this.DataContext = this.ptSelf; this.pt = pts; } else { this.DataContext = this.ptSelf; } }
private void Close(object sender, MouseButtonEventArgs e) { ptSelf = this.pt; this.Close(); }