Beispiel #1
0
        //public string CarName { get { return LblCarName.Text; } set { LblCarName.Text = value; } }
        //public string GnssTime { get { return LblGnssTime.Text; } set { LblGnssTime.Text = value; } }
        //public string Speed { get { return LblSpeed.Text; } set { LblSpeed.Text = value; } }
        //public string Position { get { return LblPosition.Text; } set { LblPosition.Text = value; } }
        //public string LockStr { get { return LblLockStr.Text; } set { LblLockStr.Text = value; } }
        //public string AreaStr { get { return LblAreaStr.Text; } set { LblAreaStr.Text = value; } }
        //public string TaskStr { get { return LblTaskStr.Text; } set { LblTaskStr.Text = value; } }

        //public void SetCarInfo(string carName, SLGpsData gpsData, SLLockGpsData lockData)
        //{
        //    CarName = carName;

        //    if (gpsData != null)
        //    {
        //        GnssTime = gpsData.GNSSTIME.ToString();
        //        Speed = gpsData.SPEED + " km/h";
        //        Position = gpsData.POSITION != null ? gpsData.POSITION.TrimStart() : "";
        //        AreaStr = gpsData.AREA_STR;
        //    }

        //    if (lockData != null)
        //    {
        //        if (string.IsNullOrWhiteSpace(lockData.MainLockState_Str))
        //            LockStr = "";
        //        else
        //        {
        //            StringBuilder sb = new StringBuilder("中控");
        //            sb.Append(lockData.MainLockState_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock1_Str) && lockData.Lock1_Str == "开")
        //                sb.AppendFormat(" 进1{0}", lockData.Lock1_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock2_Str) && lockData.Lock2_Str == "开")
        //                sb.AppendFormat(" 进2{0}", lockData.Lock2_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock3_Str) && lockData.Lock3_Str == "开")
        //                sb.AppendFormat(" 进3{0}", lockData.Lock3_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock4_Str) && lockData.Lock4_Str == "开")
        //                sb.AppendFormat(" 进4{0}", lockData.Lock4_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock5_Str) && lockData.Lock5_Str == "开")
        //                sb.AppendFormat(" 左1{0}", lockData.Lock5_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock6_Str) && lockData.Lock6_Str == "开")
        //                sb.AppendFormat(" 左2{0}", lockData.Lock6_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock7_Str) && lockData.Lock7_Str == "开")
        //                sb.AppendFormat(" 左3{0}", lockData.Lock7_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock8_Str) && lockData.Lock8_Str == "开")
        //                sb.AppendFormat(" 左4{0}", lockData.Lock8_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock9_Str) && lockData.Lock9_Str == "开")
        //                sb.AppendFormat(" 右1{0}", lockData.Lock9_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock10_Str) && lockData.Lock10_Str == "开")
        //                sb.AppendFormat(" 右2{0}", lockData.Lock10_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock11_Str) && lockData.Lock11_Str == "开")
        //                sb.AppendFormat(" 右3{0}", lockData.Lock11_Str);
        //            if (!string.IsNullOrWhiteSpace(lockData.Lock12_Str) && lockData.Lock12_Str == "开")
        //                sb.AppendFormat(" 右4{0}", lockData.Lock12_Str);
        //            LockStr = sb.ToString();
        //        }
        //}
        //}

        public void Bind(MapCarInfoBindItem[] items)
        {
            if (items == null || items.Length == 0)
            {
                return;
            }
            WrapPanel.Children.Clear();
            double height = 0;

            for (var i = 0; i < items.Length; i++)
            {
                MapCarInfoItem item = null;
                if (i < items.Length - 2)
                {
                    item = MapCarInfoItem.GetCarInfoItemByIndex(i);
                }
                else if (i == items.Length - 2)
                {
                    item = MapCarInfoItem.GetCarInfoItemByIndex(-2);
                }
                else if (i == items.Length - 1)
                {
                    item = MapCarInfoItem.GetCarInfoItemByIndex(-1);
                }

                if (item != null)
                {
                    item.Binding(items[i]);
                    height += item.Height;
                    WrapPanel.Children.Add(item);
                }
            }
            Height = height;
        }
        public static MapCarInfoItem GetCarInfoItemByIndex(int index)
        {
            if (index < -2)
            {
                return(null);
            }
            MapCarInfoItem item = new MapCarInfoItem();

            item.Width = 300;
            if (index == 0)
            {
                item.Height = 28;
                item.BgImage.ImageSource = bg_top;
                item.LblTitle.Margin     = new Thickness(17, 4, 0, 0);
                item.LblText.Margin      = new Thickness(4, 5, 8, 0);
            }
            else if (index == -1)
            {   //最后一个
                item.Height = 30;
                item.BgImage.ImageSource = bg_bottom;
                item.LblTitle.Margin     = new Thickness(17, 1, 0, 7);
                item.LblText.Margin      = new Thickness(4, 1, 8, 7);
            }
            else if (index == -2)
            {   //倒数第二个 箭头
                item.Height = 25;
                item.BgImage.ImageSource = bg_arrow;
                item.LblTitle.Margin     = new Thickness(17, 1, 0, 0);
                item.LblText.Margin      = new Thickness(4, 1, 8, 0);
            }
            else
            {
                item.Height          = 25;
                item.LblTitle.Margin = new Thickness(17, 1, 0, 0);
                item.LblText.Margin  = new Thickness(4, 1, 8, 0);
                if ((index + 1) % 2 == 0) //因为索引从0开始 所以需要加1
                {                         //偶数
                    item.BgImage.ImageSource = bg_even;
                }
                else
                {   //奇数
                    item.BgImage.ImageSource = bg_odd;
                }
            }

            return(item);
        }