private void bnChart2Clipboard_Click(object sender, RoutedEventArgs e) { CopyUIElementToClipboard(mcChart); } // source: http://elegantcode.com/2010/12/13/wpfcopy-uielement-to-clipboard-as-multiple-formats/ public static void CopyUIElementToClipboard(FrameworkElement element) { //data object to hold our different formats representing the element DataObject dataObject = new DataObject(); //lets start with the text representation //to make is easy we will just assume the object set as the DataContext has the ToString method overrideen and we use that as the text dataObject.SetData(DataFormats.Bitmap, element, true); //now lets do the image representation double width = element.ActualWidth; double height = element.ActualHeight; RenderTargetBitmap bmpCopied = new RenderTargetBitmap((int)Math.Round(width), (int)Math.Round(height), 96, 96, PixelFormats.Default); DrawingVisual dv = new DrawingVisual(); using (DrawingContext dc = dv.RenderOpen()) { VisualBrush vb = new VisualBrush(element); dc.DrawRectangle(vb, null, new Rect(new Point(), new Size(width, height))); } bmpCopied.Render(dv); dataObject.SetData(DataFormats.Bitmap, bmpCopied, true); //now place our object in the clipboard Clipboard.SetDataObject(dataObject, true); }