首页 新闻 搜索 专区 学院

windows phone开发中,如何从用户控件生成磁贴背景,

0
悬赏园豆:10 [待解决问题]

我想动态生成磁贴背景图片,于是建立了一个用户控件,然后:

var tileControl = new TileUserControl(.......);
tileControl.Measure(new Size(173, 173));
tileControl.Arrange(new Rect(0d, 0d, 173, 173));
var writeableBitmap = new System.Windows.Media.Imaging.WriteableBitmap(tileControl, null);

 

用以上代码生成writeableBitmap ,再保存writeableBitmap ,最后设置磁贴背景,

可是保存出来的图像总是黑色的背景,而且里面的布局都乱套了,

 

经过多次调试发现,以上代码在异步代码中就会出现“乱套”,如果我在界面上放一个按钮,点击按钮调用以上代码,生成的writeableBitmap 就是对的,不知何故?

异步回调中,我使用的是Deployment.Current.Dispatcher.BeginInvoke(。。。。)调用以上的代码,

jesse hao的主页 jesse hao | 初学一级 | 园豆:39
提问于:2013-09-03 01:12
< >
分享
所有回答(1)
0

很简单嘛:

var tileControl = new TileUserControl(.......);
tileControl.UpdateLayout();// 加这一行
tileControl.Measure(new Size(173, 173));
tileControl.Arrange(new Rect(0d, 0d, 173, 173));
var writeableBitmap = new System.Windows.Media.Imaging.WriteableBitmap(tileControl, null);
jesse hao | 园豆:39 (初学一级) | 2013-09-10 18:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册