コード例 #1
0
        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];
        }
コード例 #2
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);
        }