0

我的 DataGridTemplateColumn 中有一个 StackPanel。我似乎无法找到删除此单元格顶部边距的方法。

这是我正在使用的代码:

        <DataGridTemplateColumn IsReadOnly="True" Header="Description">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <StackPanel>
                        <StackPanel.Resources>
                            <Style TargetType="{x:Type Label}">
                                <Setter Property="FrameworkElement.Margin" Value="0,0,0,-10" />
                            </Style>
                        </StackPanel.Resources>
                        <Label Content="{Binding Description1}" />
                        <Label Content="{Binding Description2}" />
                    </StackPanel>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>

边距似乎来自 DataGridTemplateColumn 本身而不是 StackPanel,因为只有第一个 Label 在其上方有间距。

4

1 回答 1

0

边距实际上是在您的Labels,而不是StackPanel. 只需删除将底部边距设置为负值的标签样式,它就会正常工作。

负边距似乎在对象被渲染后被应用,并且可以使控件移出为它设置的现有边界。在您的情况下,Labels正在渲染,然后两者都向下移动 10px

于 2012-03-16T17:24:22.913 回答