wpf - 如何将相同的边距应用于面板中的所有元素?
问题描述:
有没有一种方法可以在面板(例如dockpanel)内自动告诉所有儿童物品(例如标签,文本框等)的边距为5?wpf - 如何将相同的边距应用于面板中的所有元素?
即不同于必须分别为每个元素设置边距 - 也注意到在面板上设置边缘本身并不好,因为面板具有边缘而不是元素。
顺便说一句 - 我注意到,似乎没有要上一个DockPanel中的填充元素(这会帮助)
答
我相信答案是“不”。保证金是不可继承的方式,比如说,字体大小,所以你需要做以下之一:
使用
Grid
,而不是DockPanel
。这将允许您使用行和列定义来维护项目之间的一致间距。使用一种风格。您仍然必须参考每个元素的样式(例如,
Style="{StaticResource MarginStyle}"
,这将需要更多的打字而不仅仅是Margin="10,5"
,但它可以让您将边距值全部保留在一个地方。每个元素的边距单独。