Note that there are some explanatory texts on larger screens.

plurals
  1. POIssues Regarding UI Block in Windows 8 App
    primarykey
    data
    text
    <p>i am developing an app in which i ant to do some work in background and in the the ui the the timer should run like starts in 3 2 1 and then by that time my manipulation will be completed . but the issue is that is that even my methods are async my UI is getting blocked.</p> <p>my code is </p> <pre><code>private async void Page_Loaded(object sender, RoutedEventArgs e) { Task&lt;WriteableBitmap&gt; transparentbordertemp = Render("tilenew.png"); Task&lt;WriteableBitmap&gt; transparentbitmaptemp = Render("greenpattern.png"); if (GameSettingData.mainimageselected == null) { bitmapimagemain = await Render("puzzleimage.png"); bitmapimagemain = bitmapimagemain.Resize(550, 550, WriteableBitmapExtensions.Interpolation.Bilinear); puzzleimage.Source = bitmapimagemain; GameSettingData.mainimageselected = bitmapimagemain; } else { bitmapimagemain = GameSettingData.mainimageselected; bitmapimagemain = bitmapimagemain.Resize(550, 550, WriteableBitmapExtensions.Interpolation.Bilinear); puzzleimage.Source = bitmapimagemain; } height = (puzzleimage.Parent as Grid).ActualHeight + 15; width = (puzzleimage.Parent as Grid).ActualWidth - 25; double startx = 0; double starty = 0; heightpiece = 546 / numberofrows; widhpiece = 550 / numberofrows; animationgrid.Height = heightpiece + 100; animationgrid.Width = widhpiece + 100; Rect rectangle; int counter = 0; WriteableBitmap transparentborder = new WriteableBitmap(330, 330); finalbitmapimage = bitmapimagemain; finalbitmapimage = finalbitmapimage.Resize(330 * numberofrows, 330 * numberofrows, WriteableBitmapExtensions.Interpolation.Bilinear); int blithelpx = 0; int blithelpy = 0; for (int i = 0; i &lt; numberofrows; i++) { for (int j = 0; j &lt; numberofrows; j++) { imagepeices = new Image(); imagepeices.Height = bitmapimagemain.PixelHeight / (2 * numberofrows); imagepeices.Width = bitmapimagemain.PixelWidth / (2 * numberofrows); imagepeices.Stretch = Stretch.Uniform; counter++; imagepeices.Tag = counter; startx = j * bitmapimagemain.PixelWidth / numberofrows; starty = i * bitmapimagemain.PixelHeight / numberofrows; rectangle = new Rect(startx, starty, bitmapimagemain.PixelWidth / numberofrows, bitmapimagemain.PixelHeight / numberofrows); WriteableBitmap bitmapimagemain1 = bitmapimagemain.Crop(rectangle).Resize(330, 330, WriteableBitmapExtensions.Interpolation.Bilinear); // transparentborder = await Render("tilenew.png"); transparentborder = await transparentbordertemp; transparentborder = transparentborder.Resize(330, 330, WriteableBitmapExtensions.Interpolation.Bilinear); final = new WriteableBitmap(transparentborder.PixelWidth, transparentborder.PixelHeight); final.Blit(new Rect(0, 0, (int)bitmapimagemain1.PixelWidth, (int)bitmapimagemain1.PixelHeight), bitmapimagemain1, new Rect(0, 0, (int)bitmapimagemain1.PixelWidth, (int)bitmapimagemain1.PixelHeight), WriteableBitmapExtensions.BlendMode.Additive); final.Blit(new Rect(0, 0, (int)transparentborder.PixelWidth, (int)transparentborder.PixelHeight), transparentborder, new Rect(0, 0, (int)transparentborder.PixelWidth, (int)transparentborder.PixelHeight), WriteableBitmapExtensions.BlendMode.Additive); final = final.Resize((int)widhpiece, (int)widhpiece, WriteableBitmapExtensions.Interpolation.Bilinear); imagepeices.Source = final; imagepeices.PointerPressed += ImagePointerPressed; imagepeices.PointerReleased += ImagePointerReleased; imagepeices.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Top; imagepeices.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left; listimages.Add(imagepeices); bitmaplist.Add(bitmapimagemain.Crop(rectangle)); margin += 20; gridpieces.Children.Add(imagepeices); finalbitmapimage.Blit(new Rect(blithelpx, blithelpy, (int)transparentborder.PixelWidth, (int)transparentborder.PixelHeight), transparentborder, new Rect(0, 0, (int)transparentborder.PixelWidth, (int)transparentborder.PixelHeight), WriteableBitmapExtensions.BlendMode.Additive); blithelpx += 330; } blithelpx = 0; blithelpy += 330; } foreach (Image item in listimages) { var a = (item.Parent as Grid).ActualHeight; var b = (item.Parent as Grid).ActualWidth; var x = rand.Next(50, 250); var y = rand.Next(100, 400); transformpoints.Add(new Point(x, y)); TranslateTransform posTransform = new TranslateTransform(); posTransform.X = x; posTransform.Y = y; item.RenderTransform = posTransform; } newgrid = new Grid(); RowDefinition[] rows = new RowDefinition[numberofrows]; ColumnDefinition[] columns = new ColumnDefinition[numberofrows]; for (int q = 0; q &lt; numberofrows; q++) { columns[q] = new ColumnDefinition(); columns[q].Width = new GridLength(1, GridUnitType.Star); newgrid.ColumnDefinitions.Add(columns[q]); } for (int t = 0; t &lt; numberofrows; t++) { rows[t] = new RowDefinition(); rows[t].Height = new GridLength(1, GridUnitType.Star); newgrid.RowDefinitions.Add(rows[t]); } int counter1 = 0; startx = 0; starty = 0; counter = 0; for (int p = 0; p &lt; numberofrows; p++) { for (int u = 0; u &lt; numberofrows; u++) { counter1++; Grid qwe = new Grid() { Name = "asd" + counter1.ToString(), Tag = counter1, Margin = new Thickness(0, 0, 0, 0) }; Image transparentimage = new Image(); transparentimage.Stretch = Stretch.Uniform; WriteableBitmap transparentbitmap = await transparentbitmaptemp; transparentbitmap = transparentbitmap.Resize(330, 330, WriteableBitmapExtensions.Interpolation.Bilinear); Image imageblur = new Image(); imageblur.Stretch = Stretch.Uniform; imageblur.Source = transparentbitmap; imageblur.Height = transparentbitmap.PixelHeight; imageblur.Width = transparentbitmap.PixelWidth; if (u == 0) { imageblur.Margin = new Thickness(10, 0, -20, 1); } else if (u == numberofrows - 1) { imageblur.Margin = new Thickness(0, 0, 0, 1); } else { if (u == 1) { imageblur.Margin = new Thickness(0, 0, -13, 1); } else { imageblur.Margin = new Thickness(-13, 0, -13, 1); } } transparentimage.Source = final; qwe.Height = heightpiece; qwe.Width = widhpiece; qwe.Children.Add(imageblur); qwe.Opacity = .6; Grid.SetColumn(qwe, u); Grid.SetRow(qwe, p); newgrid.Children.Add(qwe); } } newgrid.Margin = new Thickness(10, 0, 10, 0); imagegrid.Children.Add(newgrid); puzzleimage.Source = finalbitmapimage; disabletopbar = 0; initialcountdowngrid.Visibility = Windows.UI.Xaml.Visibility.Collapsed; imagegrid.Opacity = 1; gridpieces.Opacity = 1; dispatchertimer.Start(); } </code></pre> <p>and my render method is </p> <pre><code>private async Task&lt;WriteableBitmap&gt; Render(string filename) { var Assets = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("JumblerGame"); var folder = await Assets.GetFolderAsync("Images"); StorageFile file1 = await folder.GetFileAsync(filename); BitmapImage i1 = new BitmapImage(); using (IRandomAccessStream strm = await file1.OpenReadAsync()) { i1.SetSource(strm); } WriteableBitmap img1 = new WriteableBitmap(i1.PixelWidth, i1.PixelHeight); using (IRandomAccessStream strm = await file1.OpenReadAsync()) { img1.SetSource(strm); } return img1; } </code></pre> <p>and in my on navigation i have started a timer on the ui but the timer does not start untill this async method is executed.</p> <p>i dont understand why ...</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload