У меня есть Canvas
в моем приложении WPF. Я добавляю Rectangle
при нажатии кнопки. Width
Исправлено, но Height
- значение, введенное пользователем в TextBox/GridCell
.Как добавить прямоугольник один за другим вертикально на холст в WPF с помощью C#?
Когда я добавляю прямоугольник на Canvas
с указанием Height
. он добавляет прямоугольник, но он не появляется один за другим. Есть идеи?
В .xaml.cs:
int width=200;
Reactangle rect;
static int val=0;
Protected void Add()
{
rect = new Rectangle();
rect.Stroke = Brushes.Red;
rect.StrokeThickness = 1;
rect.Height = Convert.ToInt32(txtheight.Text);
rect.Width = width;
Canvas.SetLeft(rect,100);
Canvas.SetTop(rect,rect.Height);
rect.Tag = val;
canvasboard.Children.Add(rect);
val=val+1;
}
Это добавляет прямоугольник, но не точно один за другим на холсте.
<Canvas Name="canvasboard" Background="White" Margin="2">
</Canvas>
<TextBox Name="txtheight" Width="150"/>
Примечание: Я не могу использовать WrapPanel
или StackPanel
для этой формы. и хотите внести изменения в существующий код.
Помогите оценить!
Вы можете делиться минимально необходимыми битами в вашем .xaml-файле, поэтому нам не нужно воссоздавать сценарий из вашего описания? – RQDQ
привет @ RQDQ, пожалуйста, проверьте, что я изменил свой код! просто добавьте кнопку ..! –
Это опечатка: «rect.Height = txtheight.Text»? потому что rect.Height требует двойной, а не строку. –