将 TextBox 添加到 Grid 的按钮单击事件
Button Click event to add TextBox to Grid
问题出在哪里?
我想动态地向网格添加一个新的文本框。 (银光)
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBox o = new TextBox();
o.SetValue(Canvas.TopProperty, 160); // margin top, I hope.
o.SetValue(Canvas.LeftProperty, 40); // margin left, I hope.
o.Height = 31;
o.Width = 140;
o.HorizontalAlignment= HorizontalAlignment.Left;
o.TextWrapping = TextWrapping.Wrap;
o.VerticalAlignment = VerticalAlignment.Top;
LayoutRoot.Children.Add(o);
}
非常感谢。
问候,丹妮尔。
我认为 LayoutRoot 是 XAML 中的一个 Grid:
<Grid Name="LayoutRoot">
在这种情况下,您应该删除 Canvas.Top
和 Canvas.Left
的分配并设置 TextBox
:
的 Margin
TextBox o = new TextBox();
o.Margin = new Thickness(40, 160, 0, 0);
//...
Canvas.
-properties 仅在 Canvas
容器中有效。并且您应该使用相应的方法在代码隐藏中设置附加属性:
Canvas.SetTop(o, 160);
问题出在哪里? 我想动态地向网格添加一个新的文本框。 (银光)
private void Button_Click(object sender, RoutedEventArgs e)
{
TextBox o = new TextBox();
o.SetValue(Canvas.TopProperty, 160); // margin top, I hope.
o.SetValue(Canvas.LeftProperty, 40); // margin left, I hope.
o.Height = 31;
o.Width = 140;
o.HorizontalAlignment= HorizontalAlignment.Left;
o.TextWrapping = TextWrapping.Wrap;
o.VerticalAlignment = VerticalAlignment.Top;
LayoutRoot.Children.Add(o);
}
非常感谢。 问候,丹妮尔。
我认为 LayoutRoot 是 XAML 中的一个 Grid:
<Grid Name="LayoutRoot">
在这种情况下,您应该删除 Canvas.Top
和 Canvas.Left
的分配并设置 TextBox
:
Margin
TextBox o = new TextBox();
o.Margin = new Thickness(40, 160, 0, 0);
//...
Canvas.
-properties 仅在 Canvas
容器中有效。并且您应该使用相应的方法在代码隐藏中设置附加属性:
Canvas.SetTop(o, 160);