문제

I'm using a DocumentViewer to view a FixedDocument and on 2 machines (out of over 500) the document viewer does not show the document.

Edit: ok, it's not a bug in WPF and the DocumentViewer control works perfectly, I'm leaving this question unchanged in case someone else hits the same problem, see my answer for the solution.

  • The document viewer is using a custom ControlTemplate based on this MSDN sample (mostly to remove the search box)

  • The toolbar, scrollbar and background all show up but the scrollbar is disabled and the content are is blank (background color)

  • I'm sure the document is ok because printing the document works.

  • I don't have any access to those machines, one of them is running Vista in what looks like a standard configuration, I don't even know what version of Window the other one is running.

  • The application is targeting .net 3.5

Did anyone here ever had a similar problem? do you have any idea what's causing it?

Thanks.

도움이 되었습니까?

해결책

Here's what happened, I was using PrintDialog to get the default printer's paper size in order to create the FixedDocument, according to the docs and all my tests you can use PrintDialog without actually opening the dialog or actually printing anything and everything works just fine.

But on some computers (probably due to misbehaving printer drivers) this doesn't work, so on those computers the returned paper size was incorrect, I actually don't know it the size was too small or two big but it caused the code generating the FixedDocument to fail some internal sanity check and produce and empty document - that the DocumentViewer control then displayed correctly by showing nothing.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top