Я хочу, чтобы пользователь вводил ширину и высоту прямоугольника, и я хочу, чтобы прямоугольник появлялся сразу после ввода чисел. Я не хочу нажимать какие-либо кнопки, чтобы появился прямоугольник.
У меня работал код прямоугольника, когда я вводил числа для высоты и ширины, но когда я изменил его на переменные из текстового поля ввода пользователя, на экране ничего не появилось.
Вот мой XAML:
TextBox Text="{Binding xcoord, Mode=OneWay}" Name="x" Grid.Row="1" Height="20" Width="40" Grid.Column="2"></TextBox>
TextBox Text="{Binding ycoord, Mode=OneWay}" Name="y" Grid.Row="2" Height="20" Width="40" Grid.Column="2"></TextBox
Вот мой С#:
public FEModel()
{
InitializeComponent();
CreateARectangle();
}
private double xval;
public double xcoord
{
get { return xval; }
}
private double yval;
public double ycoord
{
get { return yval; }
}
public void CreateARectangle()
{
// Creates a Rectangle
Rectangle rect = new Rectangle();
rect.Height = ycoord;
rect.Width = xcoord;
// Create a Brush
SolidColorBrush colorbrush= new SolidColorBrush();
colorbrush.Color = Colors.Red;
colorbrush.Opacity = .3;
SolidColorBrush blackBrush = new SolidColorBrush();
blackBrush.Color = Colors.Black;
// Set Rectangle's width and color
rect.StrokeThickness = 1;
rect.Stroke = blackBrush;
// Fill rectangle with color
rect.Fill =colorbrush;
// Add Rectangle to the Grid.
can.Children.Add(rect);
}
Я ожидаю, что прямоугольник появится на холсте, как только пользователь введет координаты x и y, но вместо этого ничего не происходит.