Back to Skills

using-wpf-clipboard

verified

Uses WPF Clipboard for copy/paste operations with text, images, and custom data formats. Use when implementing copy/paste functionality or inter-application data transfer.

View on GitHub

Marketplace

dotnet-claude-plugins

christian289/dotnet-with-claudecode

Plugin

wpf-dev-pack

development

Repository

christian289/dotnet-with-claudecode
5stars

wpf-dev-pack/skills/using-wpf-clipboard/SKILL.md

Last Verified

January 23, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/christian289/dotnet-with-claudecode/blob/main/wpf-dev-pack/skills/using-wpf-clipboard/SKILL.md -a claude-code --skill using-wpf-clipboard

Installation paths:

Claude
.claude/skills/using-wpf-clipboard/
Powered by add-skill CLI

Instructions

# WPF Clipboard Patterns

Implementing copy/paste functionality using the Windows clipboard.

**Advanced Patterns:** See [ADVANCED.md](ADVANCED.md) for clipboard monitoring and error handling.

## 1. Clipboard Overview

```
Clipboard Operations
├── Text Operations
│   ├── SetText / GetText
│   └── Unicode, RTF, HTML support
├── Image Operations
│   ├── SetImage / GetImage
│   └── BitmapSource support
├── File Operations
│   ├── SetFileDropList / GetFileDropList
│   └── File path collection
└── Custom Data
    ├── SetData / GetData
    └── DataObject with multiple formats
```

---

## 2. Text Operations

### 2.1 Basic Text Copy/Paste

```csharp
using System.Windows;

// Copy text to clipboard
Clipboard.SetText("Hello, World!");

// Paste text from clipboard
if (Clipboard.ContainsText())
{
    var text = Clipboard.GetText();
    // Use text
}
```

### 2.2 Text Formats

```csharp
// Set text with specific format
Clipboard.SetText("Hello", TextDataFormat.UnicodeText);
Clipboard.SetText("<b>Hello</b>", TextDataFormat.Html);
Clipboard.SetText(@"{\rtf1 Hello}", TextDataFormat.Rtf);

// Get text with specific format
if (Clipboard.ContainsText(TextDataFormat.Html))
{
    var html = Clipboard.GetText(TextDataFormat.Html);
}
```

**TextDataFormat Options:**
| Value | Description |
|-------|-------------|
| **Text** | ANSI text |
| **UnicodeText** | Unicode text (default) |
| **Rtf** | Rich Text Format |
| **Html** | HTML format |
| **CommaSeparatedValue** | CSV format |

---

## 3. Image Operations

### 3.1 Copy/Paste Images

```csharp
using System.Windows;
using System.Windows.Media.Imaging;

// Copy image to clipboard
var bitmap = new BitmapImage(new Uri("pack://application:,,,/Images/logo.png"));
Clipboard.SetImage(bitmap);

// Paste image from clipboard
if (Clipboard.ContainsImage())
{
    var image = Clipboard.GetImage();
    MyImage.Source = image;
}
```

### 3.2 Copy UI Element as Image

```csharp
using System.Windows.Media;
using System.Windows.Media.Imaging;

public s

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6376 chars