wpf - 如何将相同的边距应用于面板中的所有元素?

Gre*_*reg 1 .net wpf layout xaml margin

有没有办法在面板(例如dockpanel)中自动告知所有子项(例如标签,文本框等)的边距为5?

也就是说,不必分别为每个元素设置边距 - 同时注意设置面板本身的边距并不好,因为面板的边距不是元素.

顺便说一句 - 我注意到DockPanel上似乎没有PADDING元素(这会有所帮助)

dev*_*xer 5

我相信答案是"不".保证金不是可继承的方式,比如字体大小,因此您需要执行以下操作之一:

  1. 使用Grid而不是a DockPanel.这将允许您使用行和列定义来维护项之间的一致间距.

  2. 使用一种风格.你仍然需要引用每个元素的样式(例如,Style="{StaticResource MarginStyle}"这需要更多的输入而不仅仅是Margin="10,5",但它允许你将边缘值保存在一个地方.

  3. 咬紧牙关并单独设置每个元素的边距.