c#multiple If语句无法正常工作

时间:2017-02-09 14:09:13

标签: c# wpf if-statement

我在if语句中遇到了一个非常奇怪的问题。我在画布上有图像,我想用鼠标/触摸移动/拖动。图像运动很好。我想添加边界,所以图像永远不会离开视口..图像被缩放(高度)到画布的高度,所以我只需要添加左右边框..

if (planTranslate.X < 0)
{
   planTranslate.X = 0;
}
else planTranslate.X = startPosition.X - vector.X;

if (planTranslate.X > maxX)
{
   planTranslate.X = maxX;
}
else planTranslate.X = startPosition.X - vector.X;

第一个条件按预期工作,但第二个没有,我不知道为什么......

当我将if planTranslate.X > maxX放在if planTranslate.X < 0之前  图像在视口右侧停止,但继续向左移动。

任何建议或帮助都会非常感谢..请提前...

1 个答案:

答案 0 :(得分:1)

您似乎只需要计算差异,然后检查最大/最小值

planTranslate.X = startPosition.X - vector.X;

if (planTranslate.X < 0)
{
   planTranslate.X = 0;
}

if (planTranslate.X > maxX)
{
   planTranslate.X = maxX;
}