Необходимо определить местоположение отбрасывания относительно элемента сетки в WPF - PullRequest
0 голосов
/ 26 января 2011

Я создаю элементы Grid динамически на панели стека.Когда объект отбрасывается на панель стека, он запускает событие, которое должно определить, где была точка отбрасывания относительно элемента Grid на StackPanel.Я использую WPF, поэтому некоторые ответы могут отличаться.

Например, у меня есть следующий код, который вызывается, когда объект сбрасывается на элемент сетки (который был ранее создан динамически).

/*Handles Drop Event From Grid Item*/
    private void Grid_Drop(object sender,DragEventArgs e)
    {
        Object droppedData = e.getData(typeof(Object)); //This part is not important

        /*Get the Grid that was dropped on*/
        Grid grid = (Grid)sender;

        /*Translate Drop Point in reference to Stack Panel*/
        Point dropPoint = this.TranslatePoint(e.getPosition(this),StackPanel));

    }

Здесь я остановился, мне нужно вычислить что-то вроде следующего:

       IF dropPoint IS ABOVE THE MIDDLE POINT OF THE GRID
            DO SOMETHING
       ELSE IF THE dropPoint IS BELOW THE MIDDLE POINT OF THE GRID
            DO SOMETHING

1 Ответ

1 голос
/ 26 января 2011

Почему бы вам не получить относительное положение к сетке, а не на панели стеков, и сравнить это point.y с grid.actualheight / 2, чтобы увидеть, находится оно выше или ниже?

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