需要在WPF中参考Grid Element检测drop位置

时间:2011-01-25 23:09:36

标签: c# wpf

我正在动态创建Grid元素到堆栈面板上。当一个对象被放置在堆栈面板上时,它会触发一个事件,该事件需要确定放置点在StackPanel上引用Grid元素的位置。我正在使用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 个答案:

答案 0 :(得分:1)

为什么不获得网格的相对位置,而不是堆栈面板并将该点与。grid.actualheight / 2进行比较以查看它是高于还是低于?