TextBox 在 TabItem 中的位置(WPF、C#)

Position of TextBox inside TabItem (WPF, C#)

我动态创建 TabItems。在 TabItem 中我想添加 TextBox。

如何设置TextBox的位置?

GenerateTabControlModel gtcm = new GenerateTabControlModel();       

 for (int x = 0; x <= gtcm.getTabNumber();x++)
  {
   TabItem tab = new TabItem();
   tab.Header = x.ToString();
   tab.Width = 30;
   tab.Height = 20;
   string sometext = "tab number: " + x.ToString();

   TextBox tb = new TextBox();
   tb.Text = sometext;                
   tb.Height = 25;
   tb.Width = 120;

   tab.Content = tb;               

   TCDynamo.Items.Add(tab);
  }

使用 Margin 属性。假设您想将 TextBox 定位在 { X: 20, Y: 35 }

tb.Margin = new Thickness (20, 35, 0, 0);

或者,如果它的父级是 Canvas,您可以使用 Canvas.LeftCanvas.Top 属性:

Cavnas.SetLeft(tb, 20);
Canvas.SetTop(tb, 35);

另一种选择是使用 RenderTransformLayoutTransform 并将 TranslateTransform 设置到这些属性中:

tb.RenderTransform = new TranslateTransform(20, 35);