Как я могу установить поля 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;