1

我可以像这样在代码隐藏中设置堆栈面板的边距:

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);
4

2 回答 2

9

你也可以试试这个:

sp2.Margin = new System.Windows.Thickness{ Left = 5 };
于 2009-07-28T14:32:11.093 回答
5

边距的类型为厚度,它是一种结构。

“5 0 0 0”的解析是 XAML 的事情,它不是厚度构造函数处理的事情。

采用

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

由于厚度是一个结构,这也应该起作用,而其他边距值保持不变:-

sp2.Margin.Left = 5;
于 2009-07-28T14:32:34.743 回答