【发布时间】:2021-12-03 05:07:01
【问题描述】:
我有一个 WPF 应用程序,如果满足某些条件,我想取消对 TextBox 的拖放操作(请参阅下面的 shouldCancelDrop):
示例:
XAML:
<TextBox PreviewDrop="TextBox_PreviewDrop" />
后面的代码:
private void TextBox_PreviewDrop(object sender, DragEventArgs e)
{
//Decision if to cancel to drop
var shouldCancelDrop = false;
//if (...) shouldCancelDrop = true;
if (shouldCancelDrop)
{
e.Handled = true;
return;
}
//...
}
问题是:离开 TextBox_PreviewDrop-Handler 与 e.Handled = true 后,“插入标记”总是留在文本框中。它看起来像一个文本光标,但它是浅灰色且不闪烁,请看这里(右边的黑色是文本光标):
我如何在取消放置时去掉这个插入标记?
它会一直留在 TextBox 中,直到我完成另一个拖动操作!
所以我正在寻找一些“CancelDropOperationAndRedrawTextBox”-Action...
【问题讨论】:
-
当 Ctrl + V 键盘粘贴操作中止时,也会出现相同的图形故障。
标签: c# wpf drag-and-drop textbox