ВУЗ:
Составители:
Рубрика:
150
Существуют две стороны операции перетаскивания: источник и
цель. Чтобы создать источник перетаскивания, нужно вызвать метод
DragDrop.DoDragDrop() в некоторой точке, чтобы начать операцию
перетаскивания. В этот момент идентифицируется источник для опе-
рации перетаскивания, задается содержимое, которое нужно переда-
вать, и указывается, какие эффекты будут разрешены при перетаски-
вании (копирование, перемещение и т. д.).
Обычно метод DoDragDrop() вызывается в ответ на событие
MouseDown или PreviewMouseDown. Ниже показан пример, который
начинает операцию перетаскивания при щелчке на метке. Для опера-
ции перетаскивания используется текстовое содержимое метки:
privatevoidlblSource_MouseDown(objectsender,MouseButtonEven‐
tArgse)
{
Labellbl=(Label)sender;
DragDrop.DoDragDrop(lbl,lbl.Content,DragDropEffects.Copy);
}
Элемент, который принимает данные, должен иметь в своем
свойстве AllowDrop значение true. Кроме того, ему нужно обработать
событие Drop, чтобы иметь возможность оперировать данными:
<LabelGrid.Row="1"Grid.ColumnSpan="2"AllowDrop="True"
Drop="lblTarget_Drop">TothisLabel</Label>
Когда свойству AllowDrop присваивается значение true, элемент
конфигурируется таким образом, чтобы разрешить любой тип инфор-
мации. Если нужны большие возможности, можно обработать собы-
тие DragEnter. В этот момент можно проверить тип перетаскиваемых
данных, а затем определить тип разрешенной операции. Следующий
пример разрешает работать только с текстовым содержимым – если
будет предпринята попытка перетащить что-то, что не может быть
преобразовано в текст, операция перетаскивания не будет разрешена,
а указатель мыши примет вид перечеркнутого кружка:
Страницы
- « первая
- ‹ предыдущая
- …
- 148
- 149
- 150
- 151
- 152
- …
- следующая ›
- последняя »