Подпишись на наш Twitter

Быть в курсе появления новых статей!

Вы можете использовать свой курсор во время операции drag-and-drop установив обработчик на событие GiveFeedback.

В примере ниже мы загружаем пользовательский курсор из файла .cur расположенного в директории запуска приложения.

private void Label_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    DataObject data = new DataObject(DataFormats.Text, ((Label)e.Source).Content);

DragDrop.DoDragDrop((DependencyObject)e.Source, data, DragDropEffects.Copy);

}

private void Label_Drop(object sender, DragEventArgs e) { ((Label)e.Source).Content = (string)e.Data.GetData(DataFormats.Text); }

private Cursor customCursor = null;

private void Label_GiveFeedback(object sender, GiveFeedbackEventArgs e) { if (e.Effects == DragDropEffects.Copy) { if (customCursor == null) customCursor = new Cursor(new FileStream("Earth.cur", FileMode.Open));

    e.UseDefaultCursors = false;
    Mouse.SetCursor(customCursor);
}
else
    e.UseDefaultCursors = true;

e.Handled = true;

}

Оригинал: #712 – Showing a Custom Mouse Cursor While Dragging




Дата публикации: 14.12.2012 19:45

Ярлыки: Cursor, Drag and Drop, Events, WPF