Я пытаюсь изменить курсор мыши в определенный момент, когда я перетаскиваю мышь в просмотре списка wpf. Однако, когда я настраиваю свою мышь, она быстро переопределяется чем-то другим и возвращается обратно к курсору перетаскивания.
Я не уверен, откуда происходит изменение курсора, это, конечно, не из моего кода, поэтому он должен быть системным. Если это система, то я должен перехватить событие для изменения курсора и обработать событие, чтобы курсор показал то, что я хочу, верно?
Так есть ли WPF-эквивалент этого события Control.CursorChanged? Или, возможно, есть другой способ решения этой проблемы?
Edit:
вот часть моего кода
private void SetDragCursor()
{
if (_badDragLoc)
{
Mouse.OverrideCursor = Cursors.No;
}
else
{
Mouse.OverrideCursor = Cursors.Arrow;
}
}
private void listView_DragOver(object sender, DragEventArgs e)
{
if (at a bad drag location)
{
_badDragLoc = true;
SetDragCursor();
}
}
У меня также есть обработчик события отпускания, в котором у меня также есть метод SetDragCursor (). Когда я пошагово перебираю каждую строку кода в отладчике, мышь превращается в курсор перетаскивания из курсора без курсора сразу после того, как он входит в обработчик перетаскивания. Вот почему я думаю, что это должна быть система.
Если это действительно система, то, если я смогу зафиксировать срабатывание события, я сам смогу обработать это событие и не дать ему всплыть.
Спасибо!