国际象棋游戏WPF MouseDown事件

我正在用wpf做一个象棋游戏,而且我从来没有用过wpf。 我已经使用Windows窗体,所以除了xaml,这是非常熟悉的。 通常当我想创建一个mousedown事件,我看看我在窗口devise屏幕上 – >点击对象 – >去属性 – >事件 – > MouseDown事件 – >双击事件 – >它创建一个方法执行当鼠标按在该元素上时。 看起来像这样

private void Pawn_1__MouseDown(object sender, MouseButtonEventArgs e) { } 

但是对于我在我的C#代码中的主窗口构造函数中的国际象棋游戏,我放了一些初始化代码,在屏幕上放置了一堆矩形,代表我将用于我的国际象棋游戏的网格。 如何为这些矩形创建MouseDown事件,因为它们不在devise器中?

我猜你正在使用System.Draw方法绘制矩形(我希望你不是绘制标签或什么东西会导致性能下降)。 我将在窗体上进行鼠标向下的事件,然后使用鼠标的位置值来获取被点击的矩形,这取决于它们的宽度/高度。

所以说用户点击250,250和矩形是100×100,然后他点击矩形[(int)mouse.X / 100,(int)mouse.Y / 100],这是矩形[2,2](第三行第三柱)。 这样,你可以访问被点击的矩形,并按照你应该的方式处理它。