C# 从网格中删除图像
我试图使用每秒都在下降的计数器从grid_main中删除grid_main中的图像,但图像仍然保留在那里,没有删除功能。如果鼹鼠在3秒钟内被点击,那么它将工作,但如果它被卡住后被点击。谢谢 代码:C# 从网格中删除图像,c#,image,grid,C#,Image,Grid,我试图使用每秒都在下降的计数器从grid_main中删除grid_main中的图像,但图像仍然保留在那里,没有删除功能。如果鼹鼠在3秒钟内被点击,那么它将工作,但如果它被卡住后被点击。谢谢 代码: MoleLifeCounter=3; //创建网格\\ Content\u Grid.Children.Add(Grid\u Main); 网格_Main.Height=主窗口高度; 网格_Main.Width=主窗口宽度; grid_Main.Background=画笔.透明; //网格属性\\ f
MoleLifeCounter=3;
//创建网格\\
Content\u Grid.Children.Add(Grid\u Main);
网格_Main.Height=主窗口高度;
网格_Main.Width=主窗口宽度;
grid_Main.Background=画笔.透明;
//网格属性\\
for(int i=0;i 对于(int i=0;i deleteMole实际调用在哪里?向我们展示如何填充网格和删除mole的函数不会给我们提供太多信息。问题可能在于调用deleteMole的位置,但可能与更新主线程中的UI有关。如果您给我们更多代码,我会I’我对这里发生的事情有了更好的了解。谢谢!deleteMole()是从Dispatcher调用的。
MoleLifeCounter = 3;
// Create Grid \\
Content_Grid.Children.Add(grid_Main);
grid_Main.Height = MainWindowHeight;
grid_Main.Width = MainWindowWidth;
grid_Main.Background = Brushes.Transparent;
// Grid Properties \\
for (int i = 0; i < NumberOfColumns; i++)
{
ColumnDefinition newColumn = new ColumnDefinition();
newColumn.Width = new GridLength(ColumnSize, GridUnitType.Pixel);
grid_Main.ColumnDefinitions.Add(newColumn);
}
for (int i = 0; i < NumberofRows; i++)
{
RowDefinition Row = new RowDefinition();
Row.Height = new GridLength(RowSize, GridUnitType.Pixel);
grid_Main.RowDefinitions.Add(Row);
}
// Fill Grid \\
int RowCount = 0;
int ColumnCount = 0;
for (int i = 0; i <= NumofImages; i++)
{
Image newImage = HoleImage();
if (RowCount < NumberofRows)
{
if (ColumnCount < NumberOfColumns)
{
Console.WriteLine("ColumnCount: " + ColumnCount.ToString());
Grid.SetRow(newImage, RowCount);
Grid.SetColumn(newImage, ColumnCount);
grid_Main.Children.Add(newImage);
ColumnCount++;
}
else
{
RowCount++;
ColumnCount = 0;
Grid.SetRow(newImage, RowCount);
Grid.SetColumn(newImage, ColumnCount);
grid_Main.Children.Add(newImage);
ColumnCount++;
Console.WriteLine("RowCount: " + RowCount.ToString());
}
}
else
{
break;
}
ChangeImage();
}
}
private void deleteMole()
{
MoleLifeCounter = MoleLifeCounter--;
if (MoleLifeCounter == 0)
{
grid_Main.Children.Remove(molePopup);
MoleLifeCounter = 3;
}
}