Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Print the WPF window that include MindFusion Diagram (Read 1353 times)
kelum
Full Member
***
Offline


I Love MindFusion!

Posts: 100
Joined: Mar 25th, 2017
Print the WPF window that include MindFusion Diagram
May 23rd, 2017 at 2:22pm
Print Post  
I have few grids with Mindfusion Canvas, I'm trying to print whole WPF window (which is <Grid x:Name="TotalGrid">)

this is the the window I want to print


Code
Select All
<Window x:Class="Sample.Layout.PrintPreviewPopUp"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Sample.Layout"
        xmlns:diag="http://mindfusion.eu/diagramming/wpf"
        mc:Ignorable="d"
        Title="PrintPreviewPopUp" Height="4675.333" Width="1452.001">

    <Grid x:Name="TotalGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="50"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
           <ScrollViewer HorizontalScrollBarVisibility="Auto" Margin="0,68,16,0" Grid.Row="1">
                <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" Width="1385" Height="4611">
                    <local:GridControl.RowDefinitions>
                    </local:GridControl.RowDefinitions>



                    <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" HorizontalAlignment="Left" Height="1313" Margin="0,3288,0,0" VerticalAlignment="Top" Width="1004">
                        <local:GridControl.ColumnDefinitions>
                            <ColumnDefinition Width="282*"/>
                            <ColumnDefinition Width="215*"/>
                            <ColumnDefinition Width="260*"/>
                            <ColumnDefinition Width="237*"/>
                        </local:GridControl.ColumnDefinitions>
                        <local:GridControl.RowDefinitions>
                            <RowDefinition Height="49*"/>
                            <RowDefinition Height="1619*"/>
                        </local:GridControl.RowDefinitions>
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="0" Text="Machine Type" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="1" Text="Qty" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="2" Text="Needdle Size" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="3" Text="Qty" TextAlignment="Center" FontSize="18" />
                    </local:GridControl>
                    <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" HorizontalAlignment="Left" Height="1262" Margin="1009,3339,0,0" VerticalAlignment="Top" Width="376">
                        <local:GridControl.ColumnDefinitions>
                            <ColumnDefinition Width="34*"/>
                            <ColumnDefinition Width="152*"/>
                            <ColumnDefinition Width="68*"/>
                            <ColumnDefinition Width="59*"/>
                            <ColumnDefinition Width="63*"/>
                        </local:GridControl.ColumnDefinitions>
                        <local:GridControl.RowDefinitions>
                            <RowDefinition Height="29*"/>
                            <RowDefinition Height="784*"/>
                        </local:GridControl.RowDefinitions>
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="1" Text="Color" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="2" Text="80" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="3" Text="120" TextAlignment="Center" FontSize="18" />
                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="4" Text="160" TextAlignment="Center" FontSize="18" />
                    </local:GridControl>
                    <Label x:Name="label" BorderThickness="1" BorderBrush="Black" Content="Line Minimum Thread Requirement" HorizontalAlignment="Center" Margin="1009,3288,1,0" VerticalAlignment="Top" Width="375" Height="51" FontSize="18"/>
                    <Label x:Name="label1" Content="LAYOUT PRODUCT LINE" HorizontalAlignment="Left" Margin="681,10,0,0" VerticalAlignment="Top" Height="37" Width="280" RenderTransformOrigin="0.5,0.5" FontSize="24">
                    </Label>
                    <Label x:Name="label2" Content="STYLE : LSW15CT010/ESS16CT012" HorizontalAlignment="Left" Margin="10,43,0,0" VerticalAlignment="Top" RenderTransformOrigin="-8.456,0.756" Width="194" Height="26"/>
                    <Label x:Name="label3" Content="DESCRIPTION: METALAND" HorizontalAlignment="Left" Margin="906,43,0,0" VerticalAlignment="Top" Width="170" Height="26"/>
                    <Label x:Name="label4" Content="FO\CAS\IE\01\01" HorizontalAlignment="Left" Margin="1266,10,0,0" VerticalAlignment="Top" Width="109" Height="26"/>
                    <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" HorizontalAlignment="Left" Height="3082" Margin="0,74,0,0" VerticalAlignment="Top" Width="1385">
                        <local:GridControl.ColumnDefinitions>
                            <ColumnDefinition Width="310*"/>
                            <ColumnDefinition Width="813*"/>
                            <ColumnDefinition Width="262*"/>
                        </local:GridControl.ColumnDefinitions>
                        <local:GridControl.RowDefinitions>
                            <RowDefinition/>
                        </local:GridControl.RowDefinitions>

                        <ListBox Name="listNodes" local:GridControl.Row="0" local:GridControl.Column="0" Margin="10,10,10,189">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Orientation="Vertical" Height="120" Width="280">
                                        <local:GridControl local:GridControl.Row="0" local:GridControl.Column="0"  Margin="0,10,10,2941" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Right" Width="268" Height="100" ShowCustomGridLines="True" GridLineBrush="#000000" GridLineThickness="1">
                                            <local:GridControl.ColumnDefinitions>
                                                <ColumnDefinition Width="79*"/>
                                                <ColumnDefinition Width="99*"/>
                                                <ColumnDefinition Width="90*"/>
                                            </local:GridControl.ColumnDefinitions>
                                            <local:GridControl.RowDefinitions>
                                                <RowDefinition Height="39*"/>
                                                <RowDefinition Height="63*"/>
                                                <RowDefinition Height="29*"/>
                                            </local:GridControl.RowDefinitions>
                                            <TextBlock Grid.Row="0" Grid.Column="0"  Text="{Binding Text}"/>
                                            <TextBlock Grid.Row="0" Grid.Column="1"  Text="{Binding Brush}"/>
                                            <TextBlock Grid.Row="0" Grid.Column="2"  Text="{Binding Name}"/>
                                            <TextBlock Grid.Row="1" Grid.Column="0"  Text="{Binding Tag.Type}"/>
                                            <TextBlock Grid.Row="1" Grid.Column="1"  Text="{Binding Text}"/>
                                            <TextBlock Grid.Row="1" Grid.Column="2"  Text="{Binding Brush}"/>
                                            <TextBlock Grid.Row="2" Grid.Column="0"  Text="{Binding Name}"/>
                                            <TextBlock Grid.Row="2" Grid.Column="1"  Text="{Binding Tag.Type}"/>
                                            <TextBlock Grid.Row="2" Grid.Column="2"  Text="{Binding Name}"/>
                                        </local:GridControl>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

                        <TextBlock  local:GridControl.Row="0" local:GridControl.Column="1" Text=" Customer : &#x0a; Line No :" TextAlignment="Left" FontSize="18" Margin="10,10,10,3024" />
                        <diag:Diagram local:GridControl.Row="0" local:GridControl.Column="1" Margin="10,58,10,1881" x:Name="diagram" ShowGrid="True" AutoResize="None" SerializeTag="siteMap_SerializeTag"
                 DeserializeTag="siteMap_DeserializeTag" NodeCreated="diagram_NodeCreated"/>
                        <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" HorizontalAlignment="Left" Height="177" Margin="0,2905,0,0" VerticalAlignment="Top" Width="310">
                            <local:GridControl.ColumnDefinitions>
                                <ColumnDefinition Width="207*"/>
                                <ColumnDefinition Width="83*"/>
                            </local:GridControl.ColumnDefinitions>
                            <local:GridControl.RowDefinitions>
                                <RowDefinition Height="57*"/>
                                <RowDefinition Height="59*"/>
                                <RowDefinition Height="61*"/>
                            </local:GridControl.RowDefinitions>
                            <TextBlock  local:GridControl.Row="0" local:GridControl.Column="0" Text=" SECTION TARGET PER HR" TextAlignment="Left" FontSize="15" />
                            <TextBlock  local:GridControl.Row="1" local:GridControl.Column="0" Text=" TOTAL SMV" TextAlignment="Left" FontSize="15" />
                            <TextBlock  local:GridControl.Row="2" local:GridControl.Column="0" Text=" BALENCING EFFICINCY" TextAlignment="Left" FontSize="15" />
                        </local:GridControl>
                        <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" Grid.Column="2" HorizontalAlignment="Left" Height="177" Margin="0,2905,0,0" VerticalAlignment="Top" Width="262">
                            <local:GridControl.RowDefinitions>
                                <RowDefinition Height="56*"/>
                                <RowDefinition Height="63*"/>
                                <RowDefinition Height="58*"/>
                            </local:GridControl.RowDefinitions>
                            <local:GridControl.ColumnDefinitions>
                                <ColumnDefinition Width="5*"/>
                                <ColumnDefinition Width="2*"/>
                            </local:GridControl.ColumnDefinitions>
                            <TextBlock  local:GridControl.Row="0" local:GridControl.Column="0" Text=" NO OF OPERATORS" TextAlignment="Left" FontSize="15" />
                            <TextBlock  local:GridControl.Row="1" local:GridControl.Column="0" Text=" PREPARED BY" TextAlignment="Left" FontSize="15" />
                            <TextBlock  local:GridControl.Row="2" local:GridControl.Column="0" Text=" DATE/TIME" TextAlignment="Left" FontSize="15" />
                        </local:GridControl>
                        <local:GridControl ShowCustomGridLines="True"
              GridLineBrush="#000000"
              GridLineThickness="1" Grid.Column="1" HorizontalAlignment="Left" Height="177" Margin="0,2905,0,0" VerticalAlignment="Top" Width="813">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="409*"/>
                                <ColumnDefinition Width="414*"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="89*"/>
                                <RowDefinition Height="78*"/>
                            </Grid.RowDefinitions>
                            <TextBlock  local:GridControl.Row="0" local:GridControl.Column="0" Text=" Line Lth/(cm)" TextAlignment="Left" FontSize="15" />
                            <TextBlock  local:GridControl.Row="1" local:GridControl.Column="0" Text=" Line Width/(cm)" TextAlignment="Left" FontSize="15" />
                        </local:GridControl>

                    </local:GridControl>

                </local:GridControl>
            </ScrollViewer>
        <Button Name="Print" Content="PrintDiagram" Grid.Row="0" HorizontalAlignment="Left" Width="200"  Click="PrintButton_Click"/>

    </Grid>

</Window> 



this is the window image, I'm trying to print



So I wrote following method in above WPF window codebehind file

Code
Select All
private void PrintButton_Click(object sender, RoutedEventArgs e)
        {
            PrintDialog printDialog = new PrintDialog();
            if (printDialog.ShowDialog() == true)
            {
                printDialog.PrintVisual(TotalGrid, "Grid description");
            }
        } 




Once I select above "Print" button Its directing to PrintVisual window and not print the whole wpf window.

what should I correct here.



  
Back to top
 
IP Logged
 
Slavcho
YaBB Moderator
*****
Offline


tech.support

Posts: 3148
Joined: Oct 19th, 2005
Re: Print the WPF window that include MindFusion Diagram
Reply #1 - May 23rd, 2017 at 3:51pm
Print Post  
What do you mean by "its directing to PrintVisual window"? Your code worked well enough for printing root panel of my test app, attached shows result sent to virtual PDF printer. This method won't print off-screen parts of the diagram if that's what you expect, instead you'd need to call Diagram.Print method.
  

Grid_description.pdf ( 25 KB | 73 Downloads )
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint