Because PrintHelper has not yet been updated to the CommunityToolkit package, we added it. But note that whenever it is updated to the CommunityToolkit package, we will remove this helper class.
PrintHelper is Available Only in Windows10.0.19041_OR_Greater Target Frameworks.
 
Example 1 2 3 4 5 6 7 8 9 <Grid  x:Name ="DirectPrintContainer" >     <Grid  x:Name ="PrintableContent" >          <Rectangle  x:Name ="RectangleToPrint"  Width ="500"  Height ="500" >              <Rectangle.Fill >                  <ImageBrush  ImageSource ="ms-appx:///Assets/AusterNY.jpg"  />              </Rectangle.Fill >          </Rectangle >      </Grid >  </Grid > 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 private  PrintHelper _printHelper;if  (PrintManager.IsSupported()){     _printHelper = new  PrintHelper(DirectPrintContainer);     _printHelper.OnPrintCanceled += PrintHelper_OnPrintCanceled;     _printHelper.OnPrintFailed += PrintHelper_OnPrintFailed;     _printHelper.OnPrintSucceeded += PrintHelper_OnPrintSucceeded;     var  printHelperOptions = new  PrintHelperOptions(false );     printHelperOptions.Orientation = PrintOrientation.Default;     await  _printHelper.ShowPrintUIAsync(WinRT.Interop.WindowNative.GetWindowHandle(MainWindow.Instance), "Windows Community Toolkit Sample App" , printHelperOptions, true ); } else {     PrintingIsNotSupported(); } private  void  ReleasePrintHelper ({     _printHelper.Dispose();     if  (!DirectPrintContainer.Children.Contains(PrintableContent))     {         DirectPrintContainer.Children.Add(PrintableContent);     } } private  async  void  PrintHelper_OnPrintSucceeded ({     ReleasePrintHelper();     ContentDialog noPrintingDialog = new  ContentDialog()     {         XamlRoot = this .Content.XamlRoot,         Title = "Printing Done" ,         Content = "\nDone, element printed." ,         PrimaryButtonText = "OK"      };     await  noPrintingDialog.ShowAsyncQueue(); } private  async  void  PrintHelper_OnPrintFailed ({     ReleasePrintHelper();     ContentDialog noPrintingDialog = new  ContentDialog()     {         XamlRoot = this .Content.XamlRoot,         Title = "Printing error" ,         Content = "\nSorry, failed to print." ,         PrimaryButtonText = "OK"      };     await  noPrintingDialog.ShowAsyncQueue(); } private  void  PrintHelper_OnPrintCanceled ({     ReleasePrintHelper(); } 
Demo you can run demo  and see this feature.