private void ReplaceImage()
        {
            try
            {
                // Explicitly size the control - for use in a background agent
                this.UpdateLayout();
                this.Measure(new Size(480, 800));
                this.UpdateLayout();
                this.Arrange(new Rect(0, 0, 480, 800));

                var wb = new WriteableBitmap(480, 800);
                wb.Render(LayoutRoot, null);
                wb.Invalidate();
                // Create a filename for JPEG file in isolated storage.
                String fileName = "Lock_" + Guid.NewGuid().ToString() + ".jpg";
                var    myStore  = IsolatedStorageFile.GetUserStoreForApplication();

                using (IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName))
                {
                    // Encode WriteableBitmap object to a JPEG stream.
                    wb.SaveJpeg(myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 75);
                    myFileStream.Close();
                }

                // Delete images from earlier execution
                var filesTodelete = from f in myStore.GetFileNames("Lock_*").AsQueryable()
                                    where f != fileName
                                    select f;
                foreach (var file in filesTodelete)
                {
                    myStore.DeleteFile(file);
                }

                // Fire completion event
                if (SaveJpegComplete != null)
                {
                    SaveJpegComplete(this, new SaveJpegCompleteEventArgs(true, fileName));
                    MessageBox.Show("Lock screen changed!");
                }
            }
            catch (Exception ex)
            {
                // Log it
                System.Diagnostics.Debug.WriteLine("Exception in SaveJpeg: " + ex.ToString());

                if (SaveJpegComplete != null)
                {
                    var args1 = new SaveJpegCompleteEventArgs(false, "");
                    args1.Exception = ex;
                    SaveJpegComplete(this, args1);
                }
            }
        }
        private void ReplaceImage()
        {
            try
            {
                // Explicitly size the control - for use in a background agent
                this.UpdateLayout();
                this.Measure(new Size(480, 800));
                this.UpdateLayout();
                this.Arrange(new Rect(0, 0, 480, 800));

                var wb = new WriteableBitmap(480, 800);
                wb.Render(LayoutRoot, null);
                wb.Invalidate();
                // Create a filename for JPEG file in isolated storage.
                String fileName = "Lock_" + Guid.NewGuid().ToString() + ".jpg";
                var myStore = IsolatedStorageFile.GetUserStoreForApplication();

                using (IsolatedStorageFileStream myFileStream = myStore.CreateFile(fileName))
                {
                    // Encode WriteableBitmap object to a JPEG stream.
                    wb.SaveJpeg(myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 75);
                    myFileStream.Close();
                }

                // Delete images from earlier execution
                var filesTodelete = from f in myStore.GetFileNames("Lock_*").AsQueryable()
                                    where f != fileName
                                    select f;
                foreach (var file in filesTodelete)
                {
                    myStore.DeleteFile(file);
                }

                // Fire completion event
                if (SaveJpegComplete != null)
                {
                    SaveJpegComplete(this, new SaveJpegCompleteEventArgs(true, fileName));
                    MessageBox.Show("Lock screen changed!");
                }

            }
            catch (Exception ex)
            {
                // Log it
                System.Diagnostics.Debug.WriteLine("Exception in SaveJpeg: " + ex.ToString());

                if (SaveJpegComplete != null)
                {
                    var args1 = new SaveJpegCompleteEventArgs(false, "");
                    args1.Exception = ex;
                    SaveJpegComplete(this, args1);
                }
            }
        }