Как я могу установить поля StackPanels индивидуально?

Я могу установить маржу стековой панели в коде позади так:

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

Но как я могу установить каждый по отдельности, оба из них не работают:

Псевдокод:

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

2 ответа

Решение

Вы также можете попробовать это:

sp2.Margin = new System.Windows.Thickness{ Left = 5 };

Маржа имеет тип Толщина, которая является структурой.

Разбор "5 0 0 0" - это вещь XAML, а не то, что обрабатывает конструктор Thickness.

использование

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

так как толщина является структурой, это также должно работать, оставляя другие значения полей неизменными:

sp2.Margin.Left = 5;
Другие вопросы по тегам