WPF:具有列/行边距/填充的网格?
是否可以轻松地为WPF Grid中的行或列指定边距和/或填充值?
我当然可以添加额外的列来将空间分开,但这看起来像是填充/边距的工作(它会给出更简单的XAML)。 是否有人从标准Grid派生出来添加这个功能?
您可以编写自己的GridWithMargin
类,从Grid
继承,并重写ArrangeOverride
方法以应用边距
RowDefinition
和ColumnDefinition
是ContentElement
类型的, Margin
是一个FrameworkElement
属性。 因此,对于你的问题,“这很容易”,答案是一个非常明确的答案。 不,我还没有看到任何展示这种功能的布局面板。
您可以按照您的建议添加额外的行或列。 但你也可以设定一个利润率Grid
元素本身,或任何会去一个内Grid
,所以这是你最好的解决方法了。
在单元格控件外部使用Border
控件并为其定义填充:
<Grid>
<Grid.Resources >
<Style TargetType="Border" >
<Setter Property="Padding" Value="5,5,5,5" />
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.Column="0">
<YourGridControls/>
</Border>
<Border Grid.Row="1" Grid.Column="0">
<YourGridControls/>
</Border>
</Grid>
资源: