Beispiel #1
0
 public Image()
 {
     MoveUpCommand   = new Command(() => ImageBody.MoveImageUp(this));
     MoveDownCommand = new Command(() => ImageBody.MoveImageDown(this));
     ViewCommand     = new Command(() => ImageBody.ImageViewCommand(this));
     RemoveCommand   = new Command(() => ImageBody.ImageRemoveCommand(this));
 }
        //On add new image is stored to file
        void onAddButtonClicked(object sender, EventArgs e)
        {
            ImageViewModel i = BindingContext as ImageViewModel;
            ImageBody      k = i.ImageBody;

            Image im = new Image();

            //Does to chk if no empty string
            if ((url != null) && (url.Length > 0))
            {
                warn.IsVisible   = false;
                im.ImgSource     = url;
                im.ImageFileName = url;
                im.Title         = "Title";
                im.Detail        = "Detail";
                im.Date          = "mm/dd/yyyy";
                im.ImageBody     = i.ImageBody;
                im.Type          = "5";
                k.Images.Add(im);
                ImageSourceText.Text = "";
            }
            else
            {
                warn.IsVisible = true;
            }

            //Commits user new added image to xml file
            string s = ConversionExt.SerializeObject(k);

            ConversionExt.Commit("visaPJ3.xml", s);
            app.RefreshImage = 1;
        }
Beispiel #3
0
        public ImageViewModel(IDictionary <string, object> properties)
        {
            // Avoid problems with a null or empty collection.
            ImageBody = new ImageBody();
            ImageBody.Images.Add(new Image());

            //Check to see if file exists
            bool r = DependencyService.Get <ISaveAndLoad>().IfExists("visaPJ3.xml");

            if (r)
            {
                String serializedStr = DependencyService.Get <ISaveAndLoad>().LoadText("visaPJ3.xml");
                using (TextReader reader = new StringReader(serializedStr))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(ImageBody));
                    ImageBody = (ImageBody)serializer.Deserialize(reader);
                }
            }
            else
            {
                //Load from default xml on start of application
                var    assembly = typeof(ImageViewModel).GetTypeInfo().Assembly;
                Stream stream   = assembly.GetManifestResourceStream("DynamicPhotoFrame.ImageList.xml");

                StreamReader  reader = new StreamReader(stream);
                XmlSerializer xml    = new XmlSerializer(typeof(ImageBody));
                ImageBody = xml.Deserialize(reader) as ImageBody;
                stream.Dispose();
            }

            int imageCount = 1;

            foreach (Image i in ImageBody.Images)
            {
                i.ImageBody = ImageBody;
                int item_type = Int32.Parse(i.Type);
                switch (item_type)
                {
                case 1:
                    i.ImgSource = ImageSource.FromUri(new Uri(i.ImageFileName));
                    break;

                case 2:
                    i.ImgSource = ImageSource.FromFile(i.ImageFileName);
                    break;

                case 3:
                    i.ImgSource = ImageSource.FromResource(i.ImageFileName);
                    break;

                case 4:
                    String streamId = i.ImageFileName;
                    i.ImgSource = ImageSource.FromStream(() =>
                    {
                        Assembly a = GetType().GetTypeInfo().Assembly;
                        Stream s   = a.GetManifestResourceStream(streamId);
                        return(s);
                    });
                    break;

                default:
                    i.ImgSource = i.ImageFileName;
                    break;
                }
                imageCount++;
            }
        }
Beispiel #4
0
        //Reads from default xml at start of program
        //Subsequent reads are from saved file
        public ImageBody getImageBodyFromXML()
        {
            ImageBody imb = new ImageBody();

            imageSourceDict =
                new List <KeyValuePair <String, ImageSource> >();

            imb.Images.Add(new Image());

            //Check to see if a new updated file has been created
            bool r = DependencyService.Get <ISaveAndLoad>().IfExists("visaPJ3.xml");

            if (r)
            {
                String serializedStr = DependencyService.Get <ISaveAndLoad>().LoadText("visaPJ3.xml");
                using (TextReader reader = new StringReader(serializedStr))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(ImageBody));
                    imb = (ImageBody)serializer.Deserialize(reader);
                }
            }
            else
            {
                //Read defalut at start of the project
                var    assembly = typeof(ImageViewModel).GetTypeInfo().Assembly;
                Stream stream   = assembly.GetManifestResourceStream("DynamicPhotoFrame.ImageList.xml");

                StreamReader  reader = new StreamReader(stream);
                XmlSerializer xml    = new XmlSerializer(typeof(ImageBody));
                imb = xml.Deserialize(reader) as ImageBody;
                stream.Dispose();
            }

            int imageCount = 1;

            foreach (Image i in imb.Images)
            {
                i.ImageBody = imb;
                int item_type = Int32.Parse(i.Type);

                //Retreive default images
                switch (item_type)
                {
                case 1:
                    i.ImgSource = ImageSource.FromUri(new Uri(i.ImageFileName));
                    break;

                case 2:
                    i.ImgSource = ImageSource.FromFile(i.ImageFileName);
                    break;

                case 3:
                    i.ImgSource = ImageSource.FromResource(i.ImageFileName);
                    break;

                case 4:
                    String streamId = i.ImageFileName;
                    i.ImgSource = ImageSource.FromStream(() =>
                    {
                        Assembly a = GetType().GetTypeInfo().Assembly;
                        Stream s   = a.GetManifestResourceStream(streamId);
                        return(s);
                    });
                    break;

                default:
                    i.ImgSource = i.ImageFileName;
                    break;
                }
                imageSourceDict.Add(new KeyValuePair <String, ImageSource>(i.ImageFileName, i.ImgSource));
                imageCount++;
            }
            return(imb);
        }