John Watson
John Watson

Reputation: 869

How to center a Textbox inside a Border in C#

In my WP7 app, I am creating a Textbox inside a Border. How to align the Textbox exactly at the center of the Border?

         Border rectangleborder = new Border();
         rectangleborder.Background = new SolidColorBrush(Colors.Transparent);
         rectangleborder.BorderBrush = new SolidColorBrush(Colors.Black);
         rectangleborder.BorderThickness = new Thickness(2);
         rectangleborder.Width = width;
         rectangleborder.Height = width;
         TextBox textbox = new TextBox();
         textbox.Text = "1";
         textbox.Background = new SolidColorBrush(Colors.Transparent);
         textbox.Foreground = new SolidColorBrush(Colors.Yellow);
         textbox.BorderBrush = new SolidColorBrush(Colors.Transparent);
         this.canvas1.Children.Add(rectangleborder);
         rectangleborder.SetValue(Canvas.LeftProperty, 30 + (j - 1) * width);
         rectangleborder.SetValue(Canvas.TopProperty, 30 + (i - 1) * width);
         rectangleborder.Child = textbox;

Upvotes: 2

Views: 710

Answers (2)

Rahul Tripathi
Rahul Tripathi

Reputation: 172628

  TextBox textbox = new TextBox();
  textbox.HorizontalAlignment = HorizontalAlignment.Center;
  textbox.VerticalAlignment = VerticalAlignment.Center;

You can also allign the text inside using:-

     textBox.TextAlign = HorizontalAlignment.Center;

Upvotes: 2

nemesv
nemesv

Reputation: 139798

You need set the HorizontalAlignment to align horizontally and the VerticalAlignment to align vertically:

TextBox textbox = new TextBox();
textbox.HorizontalAlignment = HorizontalAlignment.Center;
textbox.VerticalAlignment = VerticalAlignment.Center;

And the result should look something like this:

enter image description here

Upvotes: 1

Related Questions