3

10 個以上のアイテムを含むリスト ボックスがあり、Windows Phone 8 でスクリーンショットを撮って共有するためのコードを書きますが、完全なリスト ボックスではなく、画面に表示されているすべてのもの (3 アイテム) を表示するだけです。Lisbox全体のスクリーンショットを撮るにはどうすればよいですか? これは私のコードです。

var bmp = new WriteableBitmap(lbxDays, new TranslateTransform());
var width = (int)bmp.PixelWidth;
var height = (int)bmp.PixelHeight;
bmp.Render(lbxDays, new TranslateTransform());
using (var ms = new MemoryStream())
{
    bmp.SaveJpeg(ms, width, height, 0, 100);
    ms.Seek(0, System.IO.SeekOrigin.Begin);
    var lib = new MediaLibrary();
    var dateStr = DateTime.Now.Ticks;
    var picture = lib.SavePicture(string.Format("screenshot"+dateStr+".jpg"), ms);
    var task = new ShareMediaTask();
    task.FilePath = picture.GetPath();
    task.Show();
}
4

1 に答える 1

0

コントロールのスナップショットを取得するには、このコードを試してください。必要なこのメソッドに UIElement を渡します。これで問題が解決することを願っています

private WriteableBitmap RenderControlAsImage(UIElement element)
{
    element.UpdateLayout();
    element.Measure(new Size(element.Width, element.Height));
    element.Arrange(new Rect(0, 0, element.Width, element.Height));
    return new WriteableBitmap(element, null);
}
于 2012-12-21T12:56:58.447 に答える