2017-02-11 9 views
0

私はさまざまな方法で作業するためにemojisをクリップボードにコピーしようとしていますが、何も機能しません。 Emojiesは単にスペースに置き換えられます。EmojisでSystem.Windows.Copy()が動作しない

Clipboard.SetText(message, TextDataFormat.UnicodeText); 

さまざまな変換を試みましたが、いずれの結果も得られません。

テキストボックスに同じ絵文字を貼り付けてからコピーしようとしても、それは機能しますが、私はコードビハインドからTextBoxを作成しようとしていて、メッセージを埋めてそれをもう一度コピーしても動作しません。

+0

これらの絵文字は適切なUnicode形式ですか? –

+0

このような絵文字の例を教えてもらえますか? – Alexei

+0

@SpencerWieczorekはい。 'char.ConvertToUtf32(upper、lower)'は適切なdecコードを返します。 「」の128076 @アレクセイ、なし作品。このような、または – Dainius

答えて

0

私は、次の例を使用し、それが私の仕事:

public MainWindow() 
    { 
     InitializeComponent(); 

     TextBlock tb = new TextBlock(); 
     var ch = char.ConvertFromUtf32(128076); 
     tb.Text = ch.ToString(); 
     Clipboard.SetText(ch.ToString(), TextDataFormat.UnicodeText); 
     tb.Text += Clipboard.GetText(TextDataFormat.UnicodeText); 
     this.Content = tb; 
    } 

TextBlock.Textです。たぶん、あなたがTextを取り戻す方法を管理する方法についての質問かもしれません!

+0

これはやっているようです。私はテキストボックスにテキストを貼り付け、それを選択してコピーしようとしていました。これは何かのバグのように見えますが、これはコピーするのが面倒な方法なのですか? – Dainius

+0

あなたの方法について知りません。もっと説明してください。この例は、Clipboard.SetText(...)とUnicodeの間に何も間違っていないことを示しています! – Ron

+0

さらなる調査の結果、emojiesで文字列のToString()メソッドを呼び出すだけで済むことに気付きました。むしろ奇妙に思える。 – Dainius

関連する問題