MapControlは私のルートを作成するだけです。今、私はそれを印刷する方法を理解する必要があります。 UWP印刷サンプルを使用して、コントロールがあるべき場所に黒いボックスが表示されます。プリントプレビューで正しく表示されないだけで、マップとルートが構築されています。私はMapControl.Printを見たと思ったが、それはBing.Mapsのものだと思う。任意のポインタが評価されるだろう。ありがとう。UWP MapControlのルート結果を印刷する必要があります
0
A
答えて
0
UWP印刷サンプルを使用すると、コントロールが必要なブラックボックスが表示されます。
MapControlは印刷できないようです。
ワークエリアとしてRenderTargetBitmapを使用してMapControl
から画像を取得できます。画像を印刷できること。 RenderTargetBitmapを使用して
、あなたは、このような元々ナビゲーションシステムのための子ページのサムネイル画像を生成し、XAML UI組成から来た、またはの一部を保存するためにユーザを有効にすることを視覚的にイメージ効果を適用するなどのシナリオを達成することができますUIを画像ソースとして使用し、その画像を他のアプリと共有することができます。
RenderTargetBitmapはImageSourceのサブクラスなので、Image要素またはImageBrushブラシのイメージソースとして使用できます。
詳細については、RenderTargetBitmapを参照してください。例えば
:
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(MyMap);
MyImage.Source = renderTargetBitmap;
印刷コード:
public sealed partial class MainPage : Page
{
private PrintManager printmgr = PrintManager.GetForCurrentView();
private PrintDocument printDoc = null;
private PrintTask task = null;
public MainPage()
{
this.InitializeComponent();
printmgr.PrintTaskRequested += Printmgr_PrintTaskRequested;
}
private void Printmgr_PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs args)
{
var deferral = args.Request.GetDeferral();
task = args.Request.CreatePrintTask("Print", OnPrintTaskSourceRequrested);
task.Completed += PrintTask_Completed;
deferral.Complete();
}
private void PrintTask_Completed(PrintTask sender, PrintTaskCompletedEventArgs args)
{
//the PrintTask is completed
}
private async void OnPrintTaskSourceRequrested(PrintTaskSourceRequestedArgs args)
{
var def = args.GetDeferral();
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
() =>
{
args.SetSource(printDoc?.DocumentSource);
});
def.Complete();
}
private async void appbar_Printer_Click(object sender, RoutedEventArgs e)
{
if (printDoc != null)
{
printDoc.GetPreviewPage -= OnGetPreviewPage;
printDoc.Paginate -= PrintDic_Paginate;
printDoc.AddPages -= PrintDic_AddPages;
}
this.printDoc = new PrintDocument();
printDoc.GetPreviewPage += OnGetPreviewPage;
printDoc.Paginate += PrintDic_Paginate;
printDoc.AddPages += PrintDic_AddPages;
bool showPrint = await PrintManager.ShowPrintUIAsync();
}
private void PrintDic_AddPages(object sender, AddPagesEventArgs e)
{
printDoc.AddPage(this);
printDoc.AddPagesComplete();
}
private void PrintDic_Paginate(object sender, PaginateEventArgs e)
{
PrintTaskOptions opt = task.Options;
printDoc.SetPreviewPageCount(1, PreviewPageCountType.Final);
}
private void OnGetPreviewPage(object sender, GetPreviewPageEventArgs e)
{
printDoc.SetPreviewPage(e.PageNumber, this);
}
}
関連する問題
- 1. ここで私の結果を印刷する必要があります
- 2. 印刷結果が
- 3. 印刷結果()
- 4. CTEの結果を照会する必要があります
- 5. getSystemService(...)の結果をキャッシュする必要がありますか?
- 6. 結果をMonadにバインドする必要がありますか?
- 7. RAW印刷データをps/pdfに変換するか、Javaから印刷する必要があります
- 8. 印刷結果XSSFCell.setCellFormula()
- 9. 文字列の各アルファベットを印刷する必要があります
- 10. 別の方法で配列を印刷する必要があります
- 11. ダイスゲームの結果を印刷する
- 12. Groovy - 印刷可能なフォームを作成する必要があります
- 13. Pythonの結果の要約を印刷する
- 14. 結果のトラブル印刷テーブル
- 15. SQL Serverクエリに必要な結果があります
- 16. UWP MapControlマウス/ポインタ
- 17. 出力印刷結果
- 18. ORDER BYの結果の順序を逆にする必要があります
- 19. 私のケースでカールの結果をデコードする必要がありますか?
- 20. SELECTの結果にtinyintの値を追加する必要があります
- 21. Prolog - アルゴリズムで印刷する代わりに結果を返す
- 22. Golang MongoDBエラー:結果の引数はスライスアドレスである必要があります
- 23. は、floatを使用する必要がありますが、シーケンスは、結果
- 24. UWPで印刷
- 25. Web jsonの結果でenumを使用する必要があります
- 26. SQL ORACLEサブクエリ。私の結果を修正する必要があります
- 27. Webサービスコールの結果を検証する必要がありますか
- 28. ptsname()の結果を解放する必要がありますか?
- 29. Marshal :: GetFunctionPointerForDelegate:その結果を公開する必要がありますか?
- 30. 結果を別のファイルに記録する必要があります
おかげで、非常に役立ちます。私はMapControlからRenderTargetBitmapを持っていますが、印刷できないようです。私はオンスクリーンコントロールでビットマップを見ることができますが、試して印刷するときは、通常は単色です(毎回同じ色ではありません)。ビットマップを画面にレンダリングすると見ることができますが、印刷プレビューではそれは不思議です。 –
RenderTargetBitmapはmapcontrolがロードされるのを待つ必要があります。mapcontrolがロードされていないと、それが不思議な空白になっている可能性があります。 –
これがなぜ必要なのかよく分かりませんが、RenderTargetBitmapをjpgイメージとしてtempディレクトリに保存することですべての作業を完了できました。私はXAMLでそのファイルにバインドし、印刷物は正常に動作します。 –