private List <UserControls.AgvCar> initCar() { var carModelList = new List <AgvInfoModel>(); pageRepuestParams.SortField = GlobalData.SortField; pageRepuestParams.SortOrder = GlobalData.SortOrder; pageRepuestParams.PageIndex = 1; pageRepuestParams.PageSize = 200; pageRepuestParams.FilterGroup = null; getPageData(this.pageRepuestParams.PageIndex, pageRepuestParams.PageSize); Utility.Http.HttpClientHelper.SetAccessTokenToHttpClient(GlobalData.AccessTocken); var result = Utility.Http.HttpClientHelper.PostResponse <OperationResult <PageResult <AgvInfoModel> > >(GlobalData.ServerRootUri + "AgvInfo/PageData", Utility.JsonHelper.ToJson(pageRepuestParams)); if (!Equals(result, null) && result.Successed) { Application.Current.Resources["UiMessage"] = result?.Message; LogHelper.Info(Application.Current.Resources["UiMessage"].ToString()); if (result.Data.Data.Any()) { carModelList = result.Data.Data.ToList(); } } else { //操作失败,显示错误信息 LogHelper.Info(result?.Message ?? "查询车辆信息失败,请联系管理员!"); } List <UserControls.AgvCar> carControlList = new List <UserControls.AgvCar>(); foreach (var v in carModelList) { Agv.UserControls.AgvCar agvCar = new UserControls.AgvCar(); //agvCar.Name = v.CarNo; agvCar.carName.Text = v.CarNo ?? null; agvCar.CarStatus = 0; agvCar.Tag = v; Canvas.SetLeft(agvCar, offsetX); Canvas.SetTop(agvCar, offsetX); //agvCars[i].Background = Brushes.Green;// new System.Windows.Media.SolidColorBrush(new System.Windows.Media.Color() { A = 255, R = 0, G = 45, B = 86 }); mainContent.Children.Add(agvCar); carControlList.Add(agvCar); } return(carControlList); //border1 = agvCars[0]; }
//Border border = new Border(); /// <summary> /// /// </summary> /// <param name="orientation">0正向 1反向</param> /// <param name="data">路径数据</param> private void MatrixStory(UserControls.AgvCar agvCar, PathModel pathModel) { //border.Width = 10; //border.Height = 10; //border.Visibility = Visibility.Visible; //if (orientation == 0) //{ // border.Background = new SolidColorBrush(Colors.Blue); //} //else //{ // border.Background = new SolidColorBrush(Colors.Green); //} //if (!this.MainContent.Children.Contains(agvCar)) //{ // this.MainContent.Children.Add(agvCar); //} Canvas.SetLeft(agvCar, -agvCar.Width / 2); Canvas.SetTop(agvCar, -agvCar.Height / 2); agvCar.RenderTransformOrigin = new Point(0.5, 0.5); MatrixTransform matrix = new MatrixTransform(); TransformGroup groups = new TransformGroup(); groups.Children.Add(matrix); agvCar.RenderTransform = groups; //NameScope.SetNameScope(this, new NameScope()); string registname = "matrix" + Guid.NewGuid().ToString().Replace("-", ""); agvCar.RegisterName(registname, matrix); MatrixAnimationUsingPath matrixAnimation = new MatrixAnimationUsingPath(); //matrixAnimation.PathGeometry = PathGeometry.CreateFromGeometry(Geometry.Parse( ( mainContent.FindChild(path.Key.ToString() + path.Value.ToString()) as Path ) .Data )); matrixAnimation.PathGeometry = PathGeometry.CreateFromGeometry(mainContent.FindChild <Path>(pathModel.Name).Data); matrixAnimation.Duration = new Duration(TimeSpan.FromSeconds(10)); matrixAnimation.DoesRotateWithTangent = false;//旋转 matrixAnimation.AccelerationRatio = 0.4; matrixAnimation.DecelerationRatio = 0.4; //matrixAnimation.FillBehavior //matrixAnimation.FillBehavior = FillBehavior.Stop; Storyboard story = new Storyboard(); story.Children.Add(matrixAnimation); Storyboard.SetTargetName(matrixAnimation, registname); Storyboard.SetTargetProperty(matrixAnimation, new PropertyPath(MatrixTransform.MatrixProperty)); //#region 控制显示与隐藏 //ObjectAnimationUsingKeyFrames ObjectAnimation = new ObjectAnimationUsingKeyFrames(); //ObjectAnimation.Duration = matrixAnimation.Duration; //DiscreteObjectKeyFrame kf1 = new DiscreteObjectKeyFrame(Visibility.Visible, TimeSpan.FromMilliseconds(1)); //ObjectAnimation.KeyFrames.Add(kf1); //story.Children.Add(ObjectAnimation); ////Storyboard.SetTargetName(border, border.Name); //Storyboard.SetTargetProperty(ObjectAnimation, new PropertyPath(UIElement.VisibilityProperty)); //#endregion story.FillBehavior = FillBehavior.HoldEnd; agvCar.Tag = story; story.Begin(agvCar, true); }