How can I set a StackPanels margins individually?
Asked Answered
D

2

2

I can set the margin of a stackpanel in code-behind like this:

StackPanel sp2 = new StackPanel();
sp2.Margin = new System.Windows.Thickness(5);

But how can I set each individually, both of these don't work:

PSEUDO-CODE:

sp2.Margin = new System.Windows.Thickness("5 0 0 0");
sp2.Margin.Left = new System.Windows.Thickness(5);
Devaluate answered 28/7, 2009 at 14:24 Comment(0)
F
9

You can also try this:

sp2.Margin = new System.Windows.Thickness{ Left = 5 };
Fruity answered 28/7, 2009 at 14:32 Comment(0)
B
6

Margin is of type Thickness which is a structure.

The parsing of "5 0 0 0" is a XAML thing, its not something that Thickness constructor handles.

Use

sp2.Margin = new System.Windows.Thickness(5,0,0,0);

since Thickness is a structure this should also work, leaving the other margin values unmodified:-

sp2.Margin.Left = 5;
Bareilly answered 28/7, 2009 at 14:32 Comment(1)
Does your last line actually leave the rest unmodified? This Answer claims otherwiseGowk

© 2022 - 2024 — McMap. All rights reserved.