WPF 中的 Shapes 是否有点击事件和 Children
Does the Shapes have click event and Children in WPF
我正在制作宝石棋游戏。我在网格中有一个 canvas,在 canvas 里面我有代表孔的圆圈和代表曼卡拉的矩形,还有代表石头的图像。我已经使用图像控件来获取图像。
图片在圆圈中。他们有 ZIndex -2 所以他们在圆圈下面是正确的,圆圈是透明的所以你可以看透。
我想让圆圈以某种方式可点击(我知道形状中没有点击事件,但在另一个类似于点击的事件中就足够了)。然后该圆圈下方的图像将移动到下一个圆圈下方 canvas 上的不同坐标,准确地说。
所以我的问题是:有没有办法给出圈子 children 以便我可以知道在特定时间该特定圈子中有多少张图片?。如有任何额外建议,我们将不胜感激。
谢谢
Shape 没有 Click
事件,但您可以处理 MouseLeftButtonDown
事件。
它也没有 Children
属性,但您可以通过将 Shape
及其 "child" 元素添加到相同的 Grid
,例如:
<Grid Background="Transparent" MouseLeftButtonDown="OnMouseLeftButtonDown">
<Ellipse Fill="Red" Width="100" Height="100" />
<Image ... />
</Grid>
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Grid clickedGrid = (Grid)sender;
Ellipse ellipse = clickedGrid.Children[0] as Ellipse;
//...
}
我正在制作宝石棋游戏。我在网格中有一个 canvas,在 canvas 里面我有代表孔的圆圈和代表曼卡拉的矩形,还有代表石头的图像。我已经使用图像控件来获取图像。
图片在圆圈中。他们有 ZIndex -2 所以他们在圆圈下面是正确的,圆圈是透明的所以你可以看透。
我想让圆圈以某种方式可点击(我知道形状中没有点击事件,但在另一个类似于点击的事件中就足够了)。然后该圆圈下方的图像将移动到下一个圆圈下方 canvas 上的不同坐标,准确地说。
所以我的问题是:有没有办法给出圈子 children 以便我可以知道在特定时间该特定圈子中有多少张图片?。如有任何额外建议,我们将不胜感激。
谢谢
Shape 没有 Click
事件,但您可以处理 MouseLeftButtonDown
事件。
它也没有 Children
属性,但您可以通过将 Shape
及其 "child" 元素添加到相同的 Grid
,例如:
<Grid Background="Transparent" MouseLeftButtonDown="OnMouseLeftButtonDown">
<Ellipse Fill="Red" Width="100" Height="100" />
<Image ... />
</Grid>
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Grid clickedGrid = (Grid)sender;
Ellipse ellipse = clickedGrid.Children[0] as Ellipse;
//...
}