从网格上的图像中计数点
本文关键字:图像 网格 | 更新日期: 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事件。