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