Hi Kevin, Thank you for your nice feedback.
What determines if the control bound to PrintCommand will be enabled or disabled?
The command is disabled if the map attached to the map printer is null or is being printed.I guess your issue is coming from the map binding. Check that the map element name (Map is this sample) is the right one:
<esri:Map x:Name="Map" Background="White" Extent="-400000, 5230000, 840000, 6870000">
<esri:ArcGISTiledMapServiceLayer ID="Basemap" Url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
<esri:ArcGISDynamicMapServiceLayer ID="TourDeFrance" Url="http://88.191.74.143/ArcGIS/rest/services/TourDeFrance2010/MapServer" Opacity="1.0" />
</esri:Map>
..........
<controls:PrintPreview x:Name="PrintPreview">
<controls:MapPrinter x:Name="mapPrinterWithPreview"Map="{Binding ElementName=Map}" PrintDocumentName="Tour de France 2010" IsActive="True" Height="1050" Width="750"
BorderBrush="#20000080" BorderThickness="2" Foreground="White" Background="{StaticResource CommonBackgroundBrush}" />
</controls:PrintPreview>
my print_preview button (utilizing your ToggleVisibilityAction) doesn't do anything
No clue without more info. I suggest you set IsActive to True, so you should see the print preview without using the button. (You might also try to set the Visibility of the PrintPreviewPanel to 'Visible' instead of using a binding :
<local:WindowPanel x:Name="PrintPreviewPanel" Width="340" Height="405" Effect="{StaticResource dropShadow}"
Background="{StaticResource CommonBackgroundBrush}"
Visibility="Visible"
VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,10,0" BorderBrush="{StaticResource CommonBorderBrush}">
).