private void selectColor_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
xMove += e.DeltaManipulation.Translation.X;
yMove += e.DeltaManipulation.Translation.Y;
double xMax = 350;
double yMax = 40;
if (xMove < 0)
{
xMove = 0;
}
else if (xMove > xMax)
{
xMove = xMax;
}
if (yMove < 0)
{
yMove = 0;
}
else if (yMove > yMax)
{
yMove = yMax;
}
int x = Convert.ToInt32(xMove);
int y = Convert.ToInt32(yMove);
var writeableBmp = new WriteableBitmap(selectColor, null);
var tempColor = writeableBmp.GetPixel(x, y);
Brush imageColor = new SolidColorBrush(tempColor);
txtBlockName.Foreground = imageColor;
}
当我在名为selectColor
. yMove
并且xMove
是记录总运动的2个双打。它们是在函数之前声明的。正如标题所说,我得到一个IndexOutOfRangeException
,它指向 x。我不明白这是怎么可能的,因为我已经设置了画布内的最大值/最小值。我的画布正好是 350x40,所以当 x = 180 时它不应该给我这个错误。我现在有点困惑,任何帮助/建议将不胜感激。