从网格上的图像计数点数

时间:2013-05-28 16:56:53

标签: c# wpf image grid

我在下面的代码中将图像添加到网格中。我需要能够说,如果在网格上显示了molePopUp,则将一个加到一个整数,这样我就可以保持图像被正确按下的所有时间的得分。任何帮助?

// 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);
}

1 个答案:

答案 0 :(得分:2)

直接在您的痣图像上处理MouseUp事件。在ChangeImage方法中的某处添加:

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 Control实例并分配ControlTemplate。 现在使用.Click += new RoutedEventHandler(...)来捕获Click事件。