public void AddNearSeaItems(List <RichListItem> listNearSea) { for (int i = 0; i < listNearSea.Count; ++i) { RichListItem item = listNearSea[i]; RichListItem newItem = new RichListItem(); newItem.Title = Constants.PREFIX_VALIDTIME; newItem.Description = item.Description; newItem.StartTime = item.StartTime; newItem.EndTime = item.EndTime; newItem.ValidTime = String.Format("{0} - {1}", item.StartTime, item.EndTime); newItem.Wave = item.Wave; newItem.WaveLevel = item.WaveLevel; newItem.WindScale = item.WindScale; newItem.Wind = item.Wind; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; String strWeatherImage = UtilityHelper.GetImageByWeatherDescription(item.Description, Constants.DEFAULT_TIMEBLOCK_DESCRIPTION); newItem.Icon = strWeatherImage; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
public void AddWeekItems(List <RichListItem> listWeek) { for (int i = 0; i < listWeek.Count; ++i) { RichListItem item = listWeek[i]; RichListItem newItem = new RichListItem(); newItem.Description = item.Description; String strTime = ""; if (item.Day == null || "".Equals(item.Day)) { strTime = item.StartTime; } else { strTime = String.Format("{0} - {1}", item.StartTime, item.Day); } newItem.StartTime = strTime; newItem.Temperature = String.Format("{0}{1}", item.Temperature, Constants.SUFFIX_TEMPERATURE); newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
public void AddForecastItems(List <RichListItem> listForecast) { if (listForecast == null || listForecast.Count <= 0) { HandleNullData(true); } else { for (int i = 0; i < listForecast.Count; ++i) { RichListItem item = listForecast[i]; RichListItem newItem = new RichListItem(); newItem.Title = item.Title; newItem.Description = item.Description; newItem.Area = item.Area; newItem.Temperature = String.Format("{0}{1}", item.Temperature, Constants.SUFFIX_TEMPERATURE); newItem.ChanceOfRain = String.Format("{0}{1}{2}", Constants.PREFIX_CHANCE_OF_RAIN, item.ChanceOfRain, Constants.SUFFIX_CHANCE_OF_RAIN); newItem.StartTime = item.StartTime; newItem.EndTime = item.EndTime; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; String strWeatherImage = UtilityHelper.GetImageByWeatherDescription(item.Description, newItem.Title); newItem.Icon = strWeatherImage; ListItemSource.Add(newItem); } } NotifyPropertyChanged("ListItemSource"); }
public void AddTideItems(List <RichListItem> listTide) { for (int i = 0; i < listTide.Count; ++i) { RichListItem item = listTide[i]; RichListItem newItem = new RichListItem(); newItem.Description = item.Description; newItem.StartTime = item.StartTime; newItem.LunarDate = item.LunarDate; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
public void AddSeaItems(List <RichListItem> listSea) { for (int i = 0; i < listSea.Count; ++i) { RichListItem item = listSea[i]; RichListItem newItem = new RichListItem(); newItem.StartTime = item.StartTime; newItem.Wave = item.Wave; newItem.Description = item.Description; newItem.Wind = item.Wind; newItem.WindScale = item.WindScale; String strWeatherImage = UtilityHelper.GetImageByWeatherDescription(item.Description, Constants.DEFAULT_TIMEBLOCK_DESCRIPTION); newItem.Icon = strWeatherImage; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
public void AddGlobalItems(List <RichListItem> listGlobal) { for (int i = 0; i < listGlobal.Count; ++i) { RichListItem item = listGlobal[i]; RichListItem newItem = new RichListItem(); newItem.Description = item.Description; //newItem.AvgRain = String.Format("{0}{1}{2}", Constants.PREFIX_AVGRAINSCALE, item.AvgRain, Constants.SUFFIX_RAINSCALE); //newItem.Temperature = String.Format("{0}{1}{2}", Constants.PREFIX_TEMPERATURE, item.Temperature, Constants.SUFFIX_TEMPERATURE); //newItem.AvgTemperature = String.Format("{0}{1}{2}", Constants.PREFIX_AVGTEMPERATURE, item.AvgTemperature, Constants.SUFFIX_TEMPERATURE); newItem.AvgRain = item.AvgRain; newItem.Temperature = String.Format("{0}{1}", item.Temperature, Constants.SUFFIX_TEMPERATURE); newItem.AvgTemperature = String.Format("{0}{1}", item.AvgTemperature, Constants.SUFFIX_TEMPERATURE); String strWeatherImage = UtilityHelper.GetImageByWeatherDescription(item.Description, Constants.DEFAULT_TIMEBLOCK_DESCRIPTION); newItem.Icon = strWeatherImage; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
public void AddOBSItems(List <RichListItem> listOBS) { for (int i = 0; i < listOBS.Count; ++i) { RichListItem item = listOBS[i]; RichListItem newItem = new RichListItem(); newItem.Description = item.Description; newItem.GustWindScale = String.Format("{0}{1}{2}", Constants.PREFIX_GUSTWINDSCALE, item.GustWindScale, Constants.SUFFIX_GUSTWINDSCALE); newItem.RainScale = String.Format("{0}{1}{2}", Constants.PREFIX_RAINSCALE, item.RainScale, Constants.SUFFIX_RAINSCALE); newItem.Area = item.Area; newItem.StartTime = String.Format("{0}{1}", Constants.PREFIX_PUBLISH_TIME, item.StartTime); newItem.WindDirection = String.Format("{0}{1}", Constants.PREFIX_WINDDIRECTION, item.WindDirection); newItem.WindScale = String.Format("{0}{1}{2}", Constants.PREFIX_WINDSCALE, item.WindScale, Constants.SUFFIX_WINDSCALE); newItem.Temperature = String.Format("{0}{1}{2}", Constants.PREFIX_TEMPERATURE, item.Temperature, Constants.SUFFIX_TEMPERATURE); String strWeatherImage = UtilityHelper.GetImageByWeatherDescription(item.Description); newItem.Icon = strWeatherImage; newItem.ItemType = item.ItemType; newItem.ItemTemplate = item.ItemTemplate; ListItemSource.Add(newItem); } NotifyPropertyChanged("ListItemSource"); }
private void CreateTileBackBackgroundFile(RichListItem item1, RichListItem item2, String filePath) { SolidColorBrush brushWhite = new SolidColorBrush(Colors.White); WriteableBitmap bmpTile = new WriteableBitmap(173, 173); #region 底色 Rectangle rect = new Rectangle(); rect.Width = 173; rect.Height = 173; rect.Fill = new SolidColorBrush(Color.FromArgb(255, 185, 183, 172)); bmpTile.Render(rect, null); Rectangle rectSub = new Rectangle(); rectSub.Width = 162; rectSub.Height = 78; rectSub.RadiusX = 6; rectSub.RadiusY = 6; rectSub.Fill = new SolidColorBrush(Color.FromArgb(255, 168, 165, 152)); bmpTile.Render(rectSub, new TranslateTransform() { X = 5, Y = 5 }); bmpTile.Render(rectSub, new TranslateTransform() { X = 5, Y = 89 }); #endregion #region 雨的圖片 StreamResourceInfo resourceRain = Application.GetResourceStream(new Uri("Image/rain.png", UriKind.Relative)); BitmapImage bmpRain; using (resourceRain.Stream) { bmpRain = new BitmapImage(); bmpRain.SetSource(resourceRain.Stream); resourceRain.Stream.Close(); } Image imgRain = new Image() { Width = 18, Height = 16, Source = bmpRain, }; bmpTile.Render(imgRain, new TranslateTransform() { X = 15, Y = 62 }); bmpTile.Render(imgRain, new TranslateTransform() { X = 15, Y = 146 }); #endregion #region 天氣圖片 String strWeatherImageA = GetImageByWeatherDescription(item1.Description, item1.Title); StreamResourceInfo resourceWeatherA = Application.GetResourceStream(new Uri(strWeatherImageA, UriKind.Relative)); BitmapImage bmpWeatherA; using (resourceWeatherA.Stream) { bmpWeatherA = new BitmapImage(); bmpWeatherA.SetSource(resourceWeatherA.Stream); resourceWeatherA.Stream.Close(); } Image imgWeahterA = new Image() { Width = 73, Height = 50, Source = bmpWeatherA, }; bmpTile.Render(imgWeahterA, new TranslateTransform() { X = 8, Y = 8 }); String strWeatherImageB = GetImageByWeatherDescription(item2.Description, item2.Title); StreamResourceInfo resourceWeatherB = Application.GetResourceStream(new Uri(strWeatherImageB, UriKind.Relative)); BitmapImage bmpWeatherB; using (resourceWeatherB.Stream) { bmpWeatherB = new BitmapImage(); bmpWeatherB.SetSource(resourceWeatherB.Stream); resourceWeatherB.Stream.Close(); } Image imgWeahterB = new Image() { Width = 73, Height = 50, Source = bmpWeatherB, }; bmpTile.Render(imgWeahterB, new TranslateTransform() { X = 8, Y = 92 }); #endregion #region 降雨 TextBlock lblRainA = new TextBlock(); lblRainA.Text = String.Format("{0}{1}", item1.ChanceOfRain, Constants.SUFFIX_CHANCE_OF_RAIN); lblRainA.FontSize = 18; lblRainA.FontWeight = FontWeights.Bold; lblRainA.Foreground = brushWhite; bmpTile.Render(lblRainA, new TranslateTransform() { X = 36, Y = 60 }); TextBlock lblRainB = new TextBlock(); lblRainB.Text = String.Format("{0}{1}", item2.ChanceOfRain, Constants.SUFFIX_CHANCE_OF_RAIN); lblRainB.FontSize = 18; lblRainB.FontWeight = FontWeights.Bold; lblRainB.Foreground = brushWhite; bmpTile.Render(lblRainB, new TranslateTransform() { X = 36, Y = 144 }); #endregion #region 溫度範圍 String[] unitTempA = GetTemperatureUnit(item1.Temperature); TextBlock lblRangeA = new TextBlock(); lblRangeA.FontSize = 26; lblRangeA.FontWeight = FontWeights.ExtraBold; lblRangeA.Foreground = brushWhite; lblRangeA.Text = unitTempA[0]; bmpTile.Render(lblRangeA, new TranslateTransform() { X = 92, Y = 20 }); lblRangeA.Text = unitTempA[1]; bmpTile.Render(lblRangeA, new TranslateTransform() { X = 120, Y = 54 }); String[] unitTempB = GetTemperatureUnit(item2.Temperature); TextBlock lblRangeB = new TextBlock(); lblRangeB.FontSize = 26; lblRangeB.FontWeight = FontWeights.ExtraBold; lblRangeB.Foreground = brushWhite; lblRangeB.Text = unitTempB[0]; bmpTile.Render(lblRangeB, new TranslateTransform() { X = 92, Y = 104 }); lblRangeB.Text = unitTempB[1]; bmpTile.Render(lblRangeB, new TranslateTransform() { X = 120, Y = 138 }); #endregion #region 畫溫度中間的對角線 Line line = new Line(); line.Fill = brushWhite; line.Width = 55; line.Height = 55; line.X1 = 0; line.Y1 = 54; line.X2 = 54; line.Y2 = 0; line.Stretch = Stretch.Fill; line.Stroke = brushWhite; line.StrokeThickness = 2; bmpTile.Render(line, new TranslateTransform() { X = 95, Y = 22 }); bmpTile.Render(line, new TranslateTransform() { X = 95, Y = 106 }); #endregion // 存檔 bmpTile.Invalidate(); IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication(); if (isoStore.FileExists(filePath)) { isoStore.DeleteFile(filePath); } IsolatedStorageFileStream file = isoStore.CreateFile(filePath); bmpTile.SaveJpeg(file, 173, 173, 0, 100); file.Close(); file.Dispose(); }
private void CreateTileBackgroundFile(RichListItem richItem, String filePath) { SolidColorBrush brushWhite = new SolidColorBrush(Colors.White); WriteableBitmap bmpTile = new WriteableBitmap(173, 173); #region 底色 Rectangle rect = new Rectangle(); rect.Width = 173; rect.Height = 173; rect.Fill = new SolidColorBrush(Color.FromArgb(255, 185, 183, 172)); bmpTile.Render(rect, null); Rectangle rectSub = new Rectangle(); rectSub.Width = 163; rectSub.Height = 163; rectSub.RadiusX = 6; rectSub.RadiusY = 6; rectSub.Fill = new SolidColorBrush(Color.FromArgb(255, 168, 165, 152)); bmpTile.Render(rectSub, new TranslateTransform() { X = 5, Y = 5 }); #endregion #region 雨的圖片 StreamResourceInfo resourceRain = Application.GetResourceStream(new Uri("Image/rain.png", UriKind.Relative)); BitmapImage bmpRain; using (resourceRain.Stream) { bmpRain = new BitmapImage(); bmpRain.SetSource(resourceRain.Stream); resourceRain.Stream.Close(); } Image imgRain = new Image() { Width = 18, Height = 16, Source = bmpRain, }; bmpTile.Render(imgRain, new TranslateTransform() { X = 10, Y = 49 }); #endregion #region 天氣圖片 String strWeatherImage = GetImageByWeatherDescription(richItem.Description, richItem.Title); StreamResourceInfo resourceWeather = Application.GetResourceStream(new Uri(strWeatherImage, UriKind.Relative)); BitmapImage bmpWeather; using (resourceWeather.Stream) { bmpWeather = new BitmapImage(); bmpWeather.SetSource(resourceWeather.Stream); resourceWeather.Stream.Close(); } Image imgWeahter = new Image() { Width = 175, Height = 120, Source = bmpWeather, }; bmpTile.Render(imgWeahter, new TranslateTransform() { X = 30, Y = 38 }); #endregion #region 地名 TextBlock lblAddress = new TextBlock(); lblAddress.Text = richItem.Area; lblAddress.FontSize = 24; lblAddress.FontWeight = FontWeights.Bold; lblAddress.Foreground = brushWhite; bmpTile.Render(lblAddress, new TranslateTransform() { X = 10, Y = 10 }); #endregion #region 降雨 TextBlock lblRain = new TextBlock(); lblRain.Text = String.Format("{0}{1}", richItem.ChanceOfRain, Constants.SUFFIX_CHANCE_OF_RAIN); lblRain.FontSize = 18; lblRain.FontWeight = FontWeights.Bold; lblRain.Foreground = brushWhite; bmpTile.Render(lblRain, new TranslateTransform() { X = 32, Y = 47 }); #endregion #region 溫度範圍 TextBlock lblRange = new TextBlock(); lblRange.Text = String.Format("{0}{1}", richItem.Temperature, Constants.SUFFIX_TEMPERATURE); lblRange.FontSize = 32; lblRange.FontWeight = FontWeights.ExtraBold; lblRange.Foreground = brushWhite; bmpTile.Render(lblRange, new TranslateTransform() { X = 10, Y = 135 }); #endregion // 存檔 bmpTile.Invalidate(); IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication(); if (isoStore.FileExists(filePath)) { isoStore.DeleteFile(filePath); } IsolatedStorageFileStream file = isoStore.CreateFile(filePath); bmpTile.SaveJpeg(file, 173, 173, 0, 100); file.Close(); file.Dispose(); }