从网格上的图像中计数点

本文关键字:图像 网格 | 更新日期: 2023-09-27 18:15:49

我在下面的代码中向网格添加图像。我需要能够说,如果molePopUp显示在网格上,给一个整数加1,这样我就可以记录图像被正确按下的所有次数。任何帮助吗?

// Change Image from "Hut" to Mole ''
private void ChangeImage()
{
    Image molePopup = MoleImage();
    int numCol = Convert.ToInt32(NumberOfColumns);
    //Random Number - Col
    Random randomColumns = new Random();
    int ranCol = randomColumns.Next(1, numCol);
    //Random Number - Row
    Random randomRow = new Random();
    int ranRow = randomRow.Next(1, NumberofRows);
    string Moleimage = TUtils.GetIniFileString(Moleini, "ImagePath", "PictureFile", Root + "mole2.png");
    //Populate Grid with Mole at Random Times ''
    Grid.SetRow(molePopup, ranRow);
    Grid.SetColumn(molePopup, ranCol);
    grid_Main.Children.Add(molePopup);
}

从网格上的图像中计数点

直接在您的痣图像上处理MouseUp事件。把它添加到你的ChangeImage Method:

molePopup.MouseUp += new MouseButtonEventHandler((o, e) => 
{
    // check here with "e" if the left button has been pressed
});

更好:在xaml ResourceDictionary中为System.Windows.Constrols.Button创建一个新的ControlTemplate,模拟图像控件的外观(矩形,没有圆角)。您还可以添加触发器,以获得一些视觉效果的鼠标点击。

在你的ChangeImage方法中创建一个新的Button控件实例,并分配ControlTemplate。现在用.Click += new RoutedEventHandler(...)来捕获Click事件。