首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

怎么在Sliverlight中Print同一页面的两个控件

2012-02-19 
如何在Sliverlight中Print同一页面的两个控件请教一下,RT,如何在Sliverlight中Print同一页面的两个控件,这

如何在Sliverlight中Print同一页面的两个控件
请教一下,
RT,如何在Sliverlight中Print同一页面的两个控件,这两个控件在不同的父控件里面。

根据各种资料,目前只能打印某个特定的控件,请问下如何才能打印两个(而且它们在不同的父控件里面)呢?

C# code
using System.Windows;using System;using System.Collections.Generic;using System.Windows.Printing;using System.Windows.Media;namespace Extensions{    /// <summary>    /// Print extension methods    /// </summary>    public static class ExtensionsPrint    {        public static void Print(this FrameworkElement element,            string Document, HorizontalAlignment HorizontalAlignment,            VerticalAlignment VerticalAlignment, Thickness PageMargin,            bool PrintLandscape, bool ShrinkToFit, Action OnPrintComplete)            {                Print(new List<FrameworkElement>() { element }, Document,                HorizontalAlignment, VerticalAlignment, PageMargin,                PrintLandscape, ShrinkToFit, OnPrintComplete);            }        public static void Print<T>(this List<T> elements,             string Document, HorizontalAlignment HorizontalAlignment,             VerticalAlignment VerticalAlignment, Thickness PageMargin,             bool PrintLandscape, bool ShrinkToFit, Action OnPrintComplete)            {                ...            }    }}


比如我想在同一页只打印如下xaml里面的InnerGrid1和Grid2(不想要InnerGrid2),怎样才能实现呢? 请大家指点下。谢谢
C# code
ExtensionsPrint.Print(MyPanel, "MyPanel", HorizontalAlignment.Center , VerticalAlignment.Top ,            new Thickness(10) , true , true , null);


XML code
<Canvas x:Name="MyPanel">    <Grid x:Name="Grid1" >         <Grid x:Name="InnerGrid1" Width="200" Height="20" Margin="5" >        </Grid>        <Grid x:Name="InnerGrid2" Width="200" Height="20" Margin="5" >        </Grid>    </Grid>    <Grid x:Name="Grid2" >     </Grid></Canvas>



[解决办法]
你在打印的时候,打印MyPanel。然后隐藏InnerGrid2即可实现。
[解决办法]
探讨

InnerGrid2隐藏掉之后,就是你想要的效果了。Print出来应该没有问题哈。

热点排行