Question

I am new at C# & XAML development. I created a metro app with several textboxes. These textboxes are loaded in XAML data through a StackPanel in C# code, it has to be hardcoded. The problem is, I have no clue how I can add some empty spaces between every single textbox. Has anyone an idea? The Code :

 private void AddLastestCreatedField()
    {
        // Load the last created Field From DB

        DBFunction.FieldTypes latestField;

        DBFunction.Class1 myDBClass = new DBFunction.Class1();
        latestField = myDBClass.GetLastestField();

        // add new textbox and put it on the screen

        var dragTranslation = new TranslateTransform();

        //Generate the TextBox

        TextBox fieldTextBox = new TextBox();

        fieldTextBox.Name = "fieldTextBox_" + latestField.ID.ToString();
        fieldTextBox.FontSize = 15;
        fieldTextBox.Background.Opacity = 0.8;
        ToolTip toolTip = new ToolTip();
        toolTip.Content = latestField.Description;
        ToolTipService.SetToolTip(fieldTextBox, toolTip);
        fieldTextBox.IsReadOnly  = true;

        // Add Drag and Drop Handler for TextBox

        fieldTextBox.ManipulationMode = ManipulationModes.All;
        fieldTextBox.ManipulationDelta += fieldTextBox_ManipulationDelta;
        fieldTextBox.ManipulationCompleted += fieldTextBox_ManipulationCompleted;
        fieldTextBox.RenderTransform = dragTranslation;
        dragTranslationDict.Add(fieldTextBox.Name, dragTranslation);
        fieldTextBox.RenderTransform = dragTranslation;

        // Add TextBox to a List to control later
        TxtBoxList.Add(fieldTextBox);

        // Generate TextBlock for each TextBlock

        TextBlock fieldTextBlock = new TextBlock();
        // fieldTextBlock.Name = "fieldTextBlock_" + cnt.ToString();


        fieldTextBlock.TextAlignment = TextAlignment.Right;
        fieldTextBlock.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Right;

        fieldTextBlock.Name = "fieldTextBlock_" + latestField.ID.ToString();
        fieldTextBlock.Text = latestField.Name;
        fieldTextBlock.FontSize = 15;
        fieldTextBlock.Height = 33;

        // Add Drag and Drop Handler for TextBlock

        var dragTranslation2 = new TranslateTransform();
        fieldTextBlock.RenderTransform = dragTranslation2;
        dragTranslationDict2.Add(fieldTextBlock.Name, dragTranslation2);

        // Add TextBlock to a list to control later

        TxtBlockList.Add(fieldTextBlock);

        TextBoxStack.Children.Add(fieldTextBox);
        TextBlockStack.Children.Add(fieldTextBlock);



    }
Was it helpful?

Solution

I'll skip the usual "What have you tried?" question and say you probably can get what you need by setting the Margin property on the TextBox - the Margin property will add "space" around the control size as a sort of padding (not to be confused with the Padding property, which will add space inside the control extents)

OTHER TIPS

I don't know what you are really up to, but either use the Margin-property of the textbox. It defines, how much space there will be around the control,

See MSDN for more information.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top