Итак, у меня есть следующий конструктор класса
public class BolaInfo
{
private double massa;
private double raio;
private double corX;
private double corY;
private double max_x;
private double min_x;
private double max_y;
private double min_y;
private double teste;
private double angulo;
private double velocidade;
private double velX;
private double velY;
private Random rand;
private Random rand1;
public BolaInfo()
{
this.rand = new Random();
this.rand1 = new Random();
MASSA = massa;
VELOCIDADE = velocidade;
RAIO = raio;
CORX = corX;
CORY = corY;
ANGULO = angulo;
ANGULO = (double)(rand.Next(0, 360));
this.ellips = new Ellipse();
ELLIPSE = ellips;
ELLIPSE.SetResourceReference(Ellipse.FillProperty, "BallGrad");
ELLIPSE.Width = RAIO * 2;
ELLIPSE.Height = RAIO * 2;
CORX = rand.Next((int)(RAIO),(int)(650 - RAIO));
CORY = rand1.Next((int)(RAIO), (int)(440 - RAIO));
VELOC_X = velX;
VELOC_X = Math.Cos(angulo * Math.PI / 180);
VELOC_Y = velY;
VELOC_Y = Math.Sin(angulo * Math.PI / 180);
}
public double MASSA { get; set; }
public double RAIO { get; set; }
public double CORX { get; set; }
public double CORY { get; set; }
public double VELOCIDADE { get; set; }
public double VELOC_X { get; set; }
public double VELOC_Y { get; set; }
public double ANGULO { get; set; }
public Ellipse ELLIPSE { get; set; }
}
Я использую сетку данных, привязанную к списку этого класса, и когда я добавляю новую строку, все выглядит нормально, кроме ELLIPSE.Width
, ELLIPSE.Height
, CORX
, CORY
, VELOC_X
и VELOC_Y
.
Проблема в том, что эти значения генерируются входом в RAIO и в соответствии с точками останова устанавливают его начальное значение равным 0 и не пересчитывают эти значения с новым значением.
Хотя я и вызывал функции, в которых объявлена сетка данных, чтобы правильно установить эти значения, но я знаю, что это не самый лучший способ (по крайней мере, в моей голове).
Как я могу это исправить, не прибегая к этому способу?
Заранее спасибо.