//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); }