Oct 25, 2010 at 7:21 AM

I know it is dumb to even thought of printing out the ribbon but I am wondering why this doesn't work:

printDlg.PrintVisual(this, "My ribbon");


Oct 26, 2010 at 9:53 AM

Does it work for other controls in your case? Do you need such func?


Oct 31, 2010 at 6:11 PM

Other controls work without problem. I don't need it if it is not available. Just want to confirm so I can communicate with client. Thanks.

Oct 31, 2010 at 7:21 PM

You are right, it does not work.

As workaround, take a screenshot and send a bitmap to the printer. Here is a link for wpf screenshots:

Anyway not a bad idea if you want to compile a users manual.

Nov 1, 2010 at 4:48 AM

Give me the code how you print other controls.


Nov 1, 2010 at 7:54 AM

Here is a sample code, which prints the MainWindow. It works in other apps, but it does not work with a RibbonWindow:

private void menuPrint_Click(object sender, RoutedEventArgs e)
      PrintDialog printDlg = new PrintDialog();
      printDlg.PrintVisual(this, "Main Window");

Nov 1, 2010 at 7:42 PM
Yes, that's correct. Not just "this", but also everything before <Fluent:Ribbon>, the whole thing will be blank when printed out regardless what you wrap around before the Ribbon. Meaning the printout will be blank as long as the Visual in PrintVisual contains the Ribbon.
Nov 2, 2010 at 5:49 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.