sto cercando di stampare una finestra WPF con il seguente codice:Tasti con effetto non stamperanno
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == true)
{
var printArea = printDialog.PrintQueue.GetPrintCapabilities()
.PageImageableArea;
var item = (FrameworkElement)this;
DrawingVisual visual = new DrawingVisual();
using (DrawingContext context = visual.RenderOpen())
{
VisualBrush brush = new VisualBrush(item);
context.DrawRectangle(brush, null,
new Rect(new Point(printArea.OriginWidth, printArea.OriginHeight),
new Size(item.ActualWidth, item.ActualHeight)));
}
printDialog.PrintVisual(visual, String.Empty);
}
Funziona davvero bene, ma per un tempo molto strana ragione, i pulsanti non compare sul il documento stampato
ho scoperto che la causa sembra essere che io ho posto un DropShadowEffect sul pulsante, se lo tolgo, viene visualizzato il pulsante sul documento stampato:
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect Color="Gray" Opacity=".50" ShadowDepth="8" />
</Setter.Value>
</Setter>
Questo non è davvero un problema critico, ma sarebbe bello se qualcuno avesse una soluzione alternativa.