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");
        }
Пример #8
0
        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();
        }
Пример #9
0
        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();
        }