<!--MapPrinter Dialog Panel-->
        <userControls:CollapsiblePanel x:Name="MapPrinterDialogPanel" Width="340" Height="405"
                HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,10,0" Effect="{StaticResource dropShadow}">
        
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto" />
                                    <RowDefinition Height="*" />
                                </Grid.RowDefinitions>
                <StackPanel Orientation="Horizontal" Background="{StaticResource CommonPanelBorderBackgroundBrush}" Effect="{StaticResource miniDropShadow}"    >
                            <TextBlock Foreground="White" FontSize="12" 
                 Text="Page Style : " TextWrapping="NoWrap" VerticalAlignment="Center" />
                            <ComboBox Name="comboPrintStyle" SelectionChanged="comboPrintStyle_SelectionChanged" Margin="5,2" MinWidth="80" SelectedIndex="0" VerticalAlignment="Center">
                                <ComboBox.Items>
                                    <sys:String>(Default)</sys:String>
                                    <sys:String>Basic</sys:String>
                                    <sys:String>WithOverview</sys:String>
                                    <sys:String>WithClonedMapAsOverview</sys:String>
                                    <sys:String>WithLegend</sys:String>
                                </ComboBox.Items>
                            </ComboBox>
                        </StackPanel>
                  
                                
                <printing:MapPrinterDialog x:Name="MapPrinterDialog" Background="{StaticResource CommonPanelBorderBackgroundBrush}" BorderBrush="{StaticResource CommonBorderBrush}" Grid.Row="1">
                            <printing:MapPrinter x:Name="mapPrinterWithDialog" Map="{Binding ElementName=Map}" Title="Map Title"
                           IsScaleFixed="True" Scale="2000000" />
                        </printing:MapPrinterDialog>
                  
            </Grid>
                       
        </userControls:CollapsiblePanel>
<userControls:WindowPanel x:Name="MapPrinterDialogPanel" Width="340" Height="405"
                            IsOpen="{Binding ElementName=btnToggleMapPrinterDialogPanel, Path=IsChecked, Mode=TwoWay}"
                            HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,10,0">
The only problem I'm having is my printing dialog isn't refreshing when my map extent changes
it did not apply to a button...just a togglebutton I think.
<ToggleButton x:Name="btnToggleMapPrinterDialogPanel" IsChecked="True" ToolTipService.ToolTip="Print Dialog"> <ToggleButton.Content> <Image Source="/MapPrintingControls;component/Images/i_print.png" Stretch="Fill" /> </ToggleButton.Content> </ToggleButton>
<!--MapPrinter Dialog Panel-->
        <userControls:CollapsiblePanel x:Name="MapPrinterDialogPanel" Width="340" Height="405"
 IsExpanded="{Binding ElementName=btnToggleMapPrinterDialogPanel, Path=IsChecked, Mode=TwoWay}"
                HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,10,0" Effect="{StaticResource dropShadow}">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <StackPanel Orientation="Horizontal" Background="{StaticResource CommonPanelBorderBackgroundBrush}" Effect="{StaticResource miniDropShadow}"    >
                    <TextBlock Foreground="White" FontSize="12" 
                 Text="Page Style : " TextWrapping="NoWrap" VerticalAlignment="Center" />
                    <ComboBox Name="comboPrintStyle" SelectionChanged="comboPrintStyle_SelectionChanged" Margin="5,2" MinWidth="80" SelectedIndex="0" VerticalAlignment="Center">
                        <ComboBox.Items>
                            <sys:String>(Default)</sys:String>
                            <sys:String>Basic</sys:String>
                            <sys:String>WithOverview</sys:String>
                            <sys:String>WithClonedMapAsOverview</sys:String>
                            <sys:String>WithLegend</sys:String>
                        </ComboBox.Items>
                    </ComboBox>
                </StackPanel>
                <printing:MapPrinterDialog x:Name="MapPrinterDialog" Background="{StaticResource CommonPanelBorderBackgroundBrush}" BorderBrush="{StaticResource CommonBorderBrush}" Grid.Row="1">
                    <printing:MapPrinter x:Name="mapPrinterWithDialog" Map="{Binding ElementName=Map}" Title="Map Title"
                           IsScaleFixed="True" Scale="2000000" IsActive="{Binding ElementName=btnToggleMapPrinterDialogPanel, Path=IsChecked }"/>/>
                </printing:MapPrinterDialog>
            </Grid>
          
        </userControls:CollapsiblePanel>
        <!--END MapPrinter Dialog Panel-->
So since I'm trying to use a collapisble panel instead of userControls:WindowPanel that you created I'm having to change IsOpen to something and I was trying IsExpanded.  The code complies and everything seems good but the toggle button is not closing and opening the print dialog.
IsOpen="{Binding ElementName=btnToggleMapPrinterDialogPanel, Path=IsChecked, Mode=TwoWay}"
IsExpanded="{Binding ElementName=btnToggleMapPrinterDialogPanel, Path=IsChecked, Mode=TwoWay}"
Thanks again for all the time and help.  I really appreciate.
Nathalie.
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		<Grid.Resources>
 <esri:MarkerSymbol x:Name="CustomSymbol1">
  <esri:MarkerSymbol.ControlTemplate>
   <ControlTemplate>
    <Border Child="{Binding Attributes[MyTextBlock]}"/>
   </ControlTemplate>
  </esri:MarkerSymbol.ControlTemplate>
 </esri:MarkerSymbol>
</Grid.Resources>private static Layer CloneLayer(Layer layer) { ....... var graphicCollection = new GraphicCollection(); foreach (var graphic in fromLayer.Graphics) { var clone = new Graphic(); foreach (var kvp in graphic.Attributes) { clone.Attributes.Add(kvp); } ...........This one should clone the UIElements:
private static Layer CloneLayer(Layer layer) { ....... var graphicCollection = new GraphicCollection(); foreach (var graphic in fromLayer.Graphics) { var clone = new Graphic(); foreach (var kvp in graphic.Attributes) { if (kvp.Value is DependencyObject) { // If the attribute is a dependency object --> clone it var clonedkvp = new KeyValuePair<string, object>(kvp.Key, (kvp.Value as DependencyObject).Clone()); clone.Attributes.Add(clonedkvp); } else clone.Attributes.Add(kvp); }........
