Лично я создал пользовательский элемент управления TextBox, который не позволяет перетаскивать, следующим образом:
/// <summary>
/// Represents a <see cref="TextBox"/> control that does not allow drag on its contents.
/// </summary>
public class NoDragTextBox:TextBox
{
/// <summary>
/// Initializes a new instance of the <see cref="NoDragTextBox"/> class.
/// </summary>
public NoDragTextBox()
{
DataObject.AddCopyingHandler(this, NoDragCopyingHandler);
}
private void NoDragCopyingHandler(object sender, DataObjectCopyingEventArgs e)
{
if (e.IsDragDrop)
{
e.CancelCommand();
}
}
}
Вместо использования TextBox используйте local: NoDragTextBox, где «local» - псевдоним расположения сборки NoDragTextBox. Та же логика выше также может быть расширена для предотвращения копирования / вставки в TextBox.
Для получения дополнительной информации проверьте ссылку на вышеуказанный код в http://jigneshon.blogspot.be/2013/10/c-wpf-snippet-disabling-dragging-from.html