1

如何在 Silverlight 中更改 DataForm 中字段之间的间距?

我试过编辑模板,但找不到我需要的东西。我以为我需要做的就是改变风格的MinHeightand MarginDataField但这似乎并没有做到。

<Style TargetType="dataFormToolkit:DataField">
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Margin" Value="2"/>
        <Setter Property="MinHeight" Value="5"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="dataFormToolkit:DataField">
                    <ContentControl x:Name="ContentControl" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="Stretch" IsTabStop="False" VerticalAlignment="Center"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

我发现了许多关于样式化 DataForm 的文章,但其中许多似乎已经过时了。我在 Blend 中完整提取的模板中看不到任何与间距相对应的内容。

4

1 回答 1

2

改变样式的边距确实会改变间距。

我猜您在资源中具有上述样式,并期望它隐式应用于所有DataField实例。Silverlight 3 不支持隐式样式(该工具包有一些附加属性,它们可以提供一些隐式样式的外观)。

您需要从 DataForm 中引用此样式:-

<Grid.Resources>
  <Style x:Key="DataFieldStyle" TargetType="dataFormToolkit:DataField">
    <Setter Property="Margin" Value="2"/>
    <Setter Property="MinHeight" Value="5"/>
  </Style>
</Grid.Resources>
<DataForm DataFieldStyle="{StaticResource DataFieldStyle}" />
于 2010-03-27T13:30:07.933 回答