0

我在下面的代码中将图像添加到网格中。我需要能够说,如果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);
}
4

1 回答 1

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 方法中创建按钮控件的新实例并分配 ControlTemplate。现在改为捕获 Click 事件.Click += new RoutedEventHandler(...)

于 2013-05-28T19:13:48.200 回答