Отключить перетаскивание из TextBox - PullRequest
2 голосов
/ 30 марта 2010

У меня есть текстовое поле WPF, которое объявлено как ReadOnly

<TextBox IsReadOnly="True" IsTabStop="False" Width="200" />

Таким образом, пользователь не может ничего записывать в TextBox или удалять содержимое, но он по-прежнему позволяет пользователю перетаскивать текст из этого текстового поля и помещать его в любое другое текстовое поле, в результате которого текст был удален из первого текстового поля (только для чтения один) и это неожиданно. Это ошибка? как мне от этого избавиться?

1 Ответ

0 голосов
/ 30 марта 2010

Я попробовал следующий код:

<StackPanel>
    <TextBox IsReadOnly="True">Hello</TextBox>
    <TextBox></TextBox>
</StackPanel>

Когда я перетаскиваю текст (после выделения) из первого TexbtBox во второй, текст копируется, но не удаляется из первого TextBox. Я пробовал это под целями .NET 3.5 и .NET 4.0.

Если вы хотите избавиться от своей ошибки, не пытаясь ее понять (поскольку она не должна происходить), вы можете просто поместить пустой элемент управления (Canvas будет в порядке) поверх вашего TextBox с установленным свойством Background до прозрачного.

<Grid>
    <TextBox IsReadOnly="True" IsTabStop="False" Width="200" />
    <Canvas Background="Transparent"/>
</Grid>

Но текст больше не будет выделяться ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...