Como impedir que os dados de imagem da área de transferência do sistema sejam colados em um RichTextBox do WPF

Atualmente, tenho algum código em vigor para interceptar todos os eventos Recortar, Copiar e Colar em um RichTextBox no WPF. Eles foram projetados para remover todo o conteúdo, exceto texto sem formatação, e não permitem colar, exceto texto sem formatação (usando uma verificação do método Clipboard.ContainsText ().) Isso parece ter êxito em impedir que todas essas operações sejam executadas.dentro os formulários. Um usuário só pode copiar, recortar e colar texto, não sendo permitido imagens / dados de áudio / lixo aleatório.

No entanto, se eu usar a função PrintScreen e colá-la em um dos RichTextBoxes, a imagem será colada (não no comportamento desejado). Se você tentar colar esta imagem de um RichTextBox para outro, ela não permitirá você (o comportamento desejado).

Os comandos que estou substituindo atualmente são feitos usando

// Command handlers for Cut, Copy and Paste commands.
            // To enforce that data can be copied or pasted from the clipboard in text format only.
            CommandManager.RegisterClassCommandBinding(typeof(MyRichTextBox),
                new CommandBinding(ApplicationCommands.Copy, new ExecutedRoutedEventHandler(OnCopy), 
                new CanExecuteRoutedEventHandler(OnCanExecuteCopy)));
            CommandManager.RegisterClassCommandBinding(typeof(MyRichTextBox),
                new CommandBinding(ApplicationCommands.Paste, new ExecutedRoutedEventHandler(OnPaste), 
                new CanExecuteRoutedEventHandler(OnCanExecutePaste)));
            CommandManager.RegisterClassCommandBinding(typeof(MyRichTextBox),
                new CommandBinding(ApplicationCommands.Cut, new ExecutedRoutedEventHandler(OnCut), 
                new CanExecuteRoutedEvent,Handler(OnCanExecuteCut)));

Os métodos OnCopy (etc), então, essencialmente verificam se apenas o texto está presente antes de permitir qualquer operação.

Parece haver duas pranchetas em ação aqui, uma das quais não estou restringindo / bloqueando. Alguém conhece os aspectos técnicos disso e de que maneira todas as atividades da área de transferência (formulário e sistema) podem ser bloqueadas e personalizadas de maneira eficaz?

Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion