[英]C# WPF Clipboard.SetText() not working properly
我在 WPF 應用程序中使用剪貼板時遇到問題:我的代碼如下所示:
var msg = "sample message for the clipboard";
Clipboard.Clear();
Clipboard.SetText(msg);
但只有 "\\t\\t\\t\\r\\n" 存儲在我的剪貼板中。 這是在我的應用程序中使用剪貼板並被調用的唯一代碼。
*編輯:發現錯誤。 我將上面的代碼用於 DataGridRow 中的復制粘貼操作。 這適用於:
private void OnCopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
var msg = "sample"
e.ClipboardRowContent.Clear();
e.ClipboardRowContent.Add(new DataGridClipboardCellContent(e.Item, (sender as DataGrid).Columns[0], msg));
}
我猜問題是它在我的 Clipboard.SetText(..) 之后自動嘗試從我的 DataGrid 中復制某物並再次覆蓋我的文本。
清除剪貼板是多余的,因為 SetText 會自動為您執行此操作。
這是我通常使用的:
Clipboard.SetText(msg, TextDataFormat.Text);
或
Clipboard.SetText(msg,TextDataFormat.UnicodeText);
參考在這里
protected void clipboardSetText(string inTextToCopy)
{
var clipboardThread = new Thread(() => clipBoardThreadWorker(inTextToCopy));
clipboardThread.SetApartmentState(ApartmentState.STA);
clipboardThread.IsBackground = false;
clipboardThread.Start();
}
private void clipBoardThreadWorker(string inTextToCopy)
{
System.Windows.Clipboard.SetText(inTextToCopy);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.