让对象的孩子出现

时间:2014-09-16 07:05:50

标签: c# wpf grid

我有一个网格,并且在该网格中有一个可滚动的内容,并且有一个图表网格

Xaml代码

   <TabItem x:Name="Charts" Header="  Company Charts " TabIndex="0" IsSelected="True">
                    <ScrollViewer x:Name="ScrollViewerDN" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" Background="Transparent" telerik:StyleManager.Theme="Expression_Dark">
                        <Grid Name="OuterGridChart">
                            <Grid x:Name="ChartGrid"  Margin="10" Background="Transparent" >

CS CODE

 private void ExecuteExportSingleChartToPdf(object obj)
    {
        var values = ((System.Collections.Generic.List<object>)(obj)).ToList();
         Grid grid1 = values[0] as Grid;

上面的ExecuteExportSingleChartToPdf是一个按钮的委托命令

我能暂时生成图片,问题是只有当前选中的标签会生成为图片

  1. 想要同时拥有网格 - >儿童(tabcontrol) - &gt;网格
  2. 访问孩子
  3. 图表网格(tabcontrol)..图表以行和列显示,希望将行方式图像保存为一个。

1 个答案:

答案 0 :(得分:0)

您可以使用几行代码从任何Visual元素创建图像(几乎所有控件都扩展Visual类)。请不要再重复一次,请参阅我对How to take a screenshot of a WPF control?问题的回答,以了解如何执行此操作。

现在您需要做的就是重新排列XAML,以便在一个控件中拥有所有行控件 。因此,我建议您定义一个新的Grid控件,在相关的Grid行中需要很多列...您可以使用Grid.IsSharedSizeScope Attached Property来对齐新Grid如果需要,可以使用任何外部列的列。

最后,只需将新Grid的引用传递给关联问题的代码,您就会得到Image个控件。