Я пытаюсь передать координаты x и y с одной страницы на другую в wpf.Первая страница использовала x и y для создания прямоугольника. Теперь я хочу использовать эти данные для рисования линий.
Я попытался вызвать новый экземпляр первой страницы, а затем сослаться на переменную из нового экземпляра, но при запуске я не нашел ни одной строки в сетке.
Со страницы 1:
private double xval;
public double xcoord
{
get => xval;
set
{
xval = value;
CreateARectangle();
}
}
private double yval;
public double ycoord
{
get => yval;
set
{
yval = value;
CreateARectangle();
}
}
Rectangle rect = null;
public void CreateARectangle(){
if (rect == null)
{
// Creates a 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);
}
else
{
rect.Height = ycoord;
rect.Width = xcoord;
}
}
Со страницы 2:
public void drawLine()
{
///top line in rectangle
Line results = new Line();
///will be the bottom line in the new rectangle
Line bottom = new Line();
///left connecting line
Line left = new Line();
///right connecting line
Line right = new Line();
double test;
FEModel fe = new FEModel();
test=fe.xcoord;
///top line code
results.Stroke = System.Windows.Media.Brushes.Red;
results.Opacity =.3;
results.X1 = test;
results.X2 = test;
results.Y1 = test;
results.Y2 = test;
results.HorizontalAlignment = HorizontalAlignment.Left;
results.VerticalAlignment = VerticalAlignment.Center;
results.StrokeThickness = 2;
resultscan.Children.Add(results);
Я просто использовал тестовую переменную в X1, X2, Y1 и Y2, чтобы посмотреть,на самом деле работал ... что это не ..
Он компилируется, но на экране не отображаются строки.Переменные Xcoord и Ycoord прекрасно работают при построении прямоугольника со страницы 1 ..