0

RichTextBox WPF コントロールがあり、レイアウトを制御しているため、リッチ コンテンツを許可することはできません...

そのため、クリップボードからテキスト以外のすべてのデータを削除する必要があります。たとえば、誰かが表のテキストを Microsoft Word から直接コピー/貼り付けしようとしている場合、RichTextBox は、このテキストが 1. 元は表からのものであり、2. 太字で 3. 下線が引かれていることも考慮して、すべて作成します。テキストのこれらすべてのプロパティに対応するインライン コンテンツの種類...

これは、インライン レイアウトを壊す可能性があるため、私たちのケースでは適切な動作ではありません..きれいなテキストが欲しいだけです...

最も簡単な方法は、プレビューの貼り付けコマンドです。

Clipboard.SetText(Clipboard.GetText());

そしてそれで終わります...しかし、あなたはそれを推測しました..部分信頼ではクリップボード操作は許可されていません...

また、次のリンクで提案されている非表示の Textbox を使用して、厄介なハックを試みました

そのようです:

public static class ClipboardManager
{
    private static readonly TextBox textBox = new TextBox {AcceptsReturn = true, AcceptsTab = true};

    public static void SetText(string text)
    {
        textBox.Text = text;
        textBox.SelectAll();
        textBox.Copy();
    }

    public static string GetText()
    {
        textBox.Clear();
        textBox.Paste();
        return textBox.Text;
    }
}

そして、次のように呼び出します。

ClipboardManager.SetText(ClipboardManager.GetText());

これは完全信頼ではうまく機能しますが、何らかの理由で、TextBox の Copy メソッドと Paste メソッドの両方が部分信頼では機能しません...

WPF/partial trust でクリップボードのコンテンツを取得する方法を知っている人はいますか?

ありがとう

編集: Nirが指摘したように..クリップボードからデータを変更するのはあまり良くないことはわかっています..しかし、誰かが部分信頼でクリップボードからテキストのみを取得する方法を教えてくれれば、私の質問はまったく同じように答えられます. :)..

4

2 に答える 2

0

それは単に不可能です。

最後に、テキストボックスに切り替えてそこに貼り付け、コントロールに戻るトグル ボタンを使用しました。厄介ですが、機能します。

于 2012-03-26T11:53:19.393 に答える
-1

http://msdn.microsoft.com/en-us/library/aa970910.aspxは、部分信頼で「プレーンテキストとインク クリップボードのサポート」のみを示しています。「リッチ テキスト形式のクリップボード」には完全な信頼が必要です

于 2009-01-20T15:26:27.563 に答える