如何单独设置StackPanels边距?

Edw*_*uay 1 c# wpf margin code-behind stackpanel

我可以在代码隐藏中设置stackpanel的边距,如下所示:

StackPanel sp2 = new StackPanel();
sp2.Margin = new System.Windows.Thickness(5);
Run Code Online (Sandbox Code Playgroud)

但是如何单独设置,这两个都不起作用:

伪代码:

sp2.Margin = new System.Windows.Thickness("5 0 0 0");
sp2.Margin.Left = new System.Windows.Thickness(5);
Run Code Online (Sandbox Code Playgroud)

Arc*_*rus 9

你也可以试试这个:

sp2.Margin = new System.Windows.Thickness{ Left = 5 };
Run Code Online (Sandbox Code Playgroud)


Ant*_*nes 5

边距是厚度类型,是一种结构.

解析"5 0 0 0"是一个XAML的东西,它不是厚度构造函数处理的东西.

使用

sp2.Margin = new System.Windows.Thickness(5,0,0,0);
Run Code Online (Sandbox Code Playgroud)

因为厚度是一个结构,这也应该工作,留下其他边缘值未经修改: -

sp2.Margin.Left = 5;
Run Code Online (Sandbox Code Playgroud)