Рендеринг usercontrol живая плитка windows phone

Похоже, мне удалось решить эту проблему, вызывая UpdateLayout в моем пользовательском контроле до и после каждого измерения и организовывать вызовы, пока что это хорошо работает. если у кого-то есть другое решение, пожалуйста, дайте мне знать

У меня есть проблема, похожая на ту, которая есть в этом посте, и кажется, что пользователь нашел причину этого. Мне было интересно, есть ли другое решение, кроме создания панели стека для получения правильного рендеринга живой плитки при обновлении? тот же код прекрасно работает при создании плитки, но не обновляется при обновлении.

это мой метод:

 private void updateFrontTile()
    {
        var frontTile = new FrontMzaarTileControl();

        TileData tileData = new TileData()
        {
            temp= "1",
            temp2= "2",
            temp3= "3",
            temp4= "4",
            temp5= "5"
        };

        frontTile.DataContext = tileData;
        frontTile.Measure(new Size(691, 336)); // the user from the other post believes that this is not doing anything
        frontTile.Arrange(new Rect(0, 0, 691, 336)); // the user from the other post believes that this is not doing anything


        var bmp = new WriteableBitmap(691, 336);
        bmp.Render(frontTile, null);
        bmp.Invalidate();

        var isf = IsolatedStorageFile.GetUserStoreForApplication();
        FrontTileFilename = "/Shared/ShellContent/FrontTile.jpg";

        if (!isf.DirectoryExists("/Shared/ShellContent"))
        {
            isf.CreateDirectory("/Shared/ShellContent");
        }

        using (var stream = isf.OpenFile(FrontTileFilename, System.IO.FileMode.Create))
        {
            bmp.SaveJpeg(stream, 691, 336, 0, 100);
        } 
    }

0 ответов

Другие вопросы по тегам